diff options
change to 11ty.js for non markdown templates
Signed-off-by: Marc Pervaz Boocha <mboocha@sudomsg.xyz>
Please enter the commit message for your changes. Lines starting
with '#' will be ignored, and an empty message aborts the commit.
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
modified: .eleventy.js
modified: .eslintrc.js
new file: assets/index.css
new file: assets/index.js
new file: assets/mandle.png
new file: assets/sw.js
renamed: favicon.ico -> favicon/icon.ico
modified: package-lock.json
modified: package.json
modified: src/about.md
deleted: src/assets/atom.njk
deleted: src/assets/error.md
deleted: src/assets/index.css
deleted: src/assets/index.mjs
deleted: src/assets/json.njk
deleted: src/assets/manifest.njk
deleted: src/assets/prism.css
deleted: src/assets/robot.njk
deleted: src/assets/sitemap.njk
deleted: src/assets/sw.mjs
new file: src/blog.11ty.js
deleted: src/blog.njk
modified: src/data/env.js
deleted: src/data/err.js
modified: src/data/metadata.js
deleted: src/data/navigator.js
new file: src/gen/atom.11ty.js
new file: src/gen/error.11ty.js
renamed: src/assets/assets.11tydata.js -> src/gen/gen.11tydata.js
new file: src/gen/json.11ty.js
new file: src/gen/manifest.11ty.js
new file: src/gen/metadata.11ty.js
new file: src/gen/robot.11ty.js
new file: src/gen/sitemap.11ty.js
modified: src/index.md
new file: src/layouts/base.11ty.js
deleted: src/layouts/base.njk
new file: src/layouts/page.11ty.js
new file: src/layouts/post.11ty.js
deleted: src/layouts/post.njk
modified: src/post/post.11tydata.js
Diffstat (limited to 'src/layouts')
-rw-r--r-- | src/layouts/base.11ty.js | 51 | ||||
-rw-r--r-- | src/layouts/base.njk | 46 | ||||
-rw-r--r-- | src/layouts/page.11ty.js | 14 | ||||
-rw-r--r-- | src/layouts/post.11ty.js | 17 | ||||
-rw-r--r-- | src/layouts/post.njk | 12 |
5 files changed, 82 insertions, 58 deletions
diff --git a/src/layouts/base.11ty.js b/src/layouts/base.11ty.js new file mode 100644 index 0000000..a42b15f --- /dev/null +++ b/src/layouts/base.11ty.js @@ -0,0 +1,51 @@ +const {oneLine} = require("common-tags") + +module.exports = class { + render(data) { + return oneLine`<!DOCTYPE html> + <html lang="${data.metadata.language}"> + <head> + <meta charset="utf-8"> + <meta property="og:locale content=en_GB"> + <title property="og:title">${data.title || data.metadata.title}</title> + <meta property="og:site_name" content="${data.metadata.title}"> + <meta name="author" content="${data.metadata.author.name}"> + <meta name="description" property="og:description content="${data.description || data.metadata.description}"> + <meta property="og:type" content="website"> + ${data.keywords ? `<meta name="keywords" contents="${data.keywords.join()}>`: ""} + <meta name="generator" contents="Eleventy v${data.pkg.dependencies["@11ty/eleventy"].replace("^", "")}"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="twitter:card" content="summary"> + <meta property=og:url content="${new URL(data.page.url, data.metadata.url)}"> + <link rel="canonical" href="${new URL(data.page.url, data.metadata.url)}"> + <link rel="alternate" href="${data.metadata.feed.atom}" type="application/atom+xml" title="${data.metadata.title}"> + <link rel="alternate" href="${data.metadata.feed.json}" type="application/feed+json" title="${data.metadata.title}"> + <meta property="og:image" content="/favicon/1024.png"> + <link rel="icon" href="/favicon.ico" sizes="any"> + <link rel="icon" href="/favicon/icon.svg" type="image/svg+xml"> + <link rel="apple-touch-icon" href="/favicon/192.png"> + <link rel="manifest" href="/app.webmanifest"> + <link rel="stylesheet" href="/assets/index.css"> + <link rel="stylesheet" href="/vendor/prism.css"> + <script type="module" src="/assets/index.js" defer></script> + </head> + <body> + <header> + <nav> + <a href="#" id="nav-toogle">Sudomsg</a> + <a class="navlinks" href="/" >Home</a> + <a class="navlinks" href="/blog/">Blog</a> + <a class="navlinks" href="/about/">About</a> + </nav> + </header> + <main> + ${data.content} + </main> + <footer> + Subscribe: <a href="${data.metadata.feed.atom}">RSS</a> + <a href="${data.metadata.feed.json}">JSON</a> + </footer> + </body> + </html>`; + } +}; diff --git a/src/layouts/base.njk b/src/layouts/base.njk deleted file mode 100644 index 20b1100..0000000 --- a/src/layouts/base.njk +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html> -<html lang="en-GB"> - <head> - <meta charset="utf-8"/> - <meta property="og:locale" content="en_GB"/> - <title>{{ title or metadata.title }}</title> - <meta property="og:title" content="{{ title or metadata.title }}"/> - <meta property="og:site_name" content="{{ metadata.title }}"/> - <meta name="author" content="{{ metadata.author.name }}"/> - <meta name="description" content="{{ description or metadata.description }}"/> - <meta property="og:description" content="{{ description or metadata.description }}"/> - <meta name="keywords" contents="{{ keywords }}"/> - <meta name="generator" contents="eleventy"/> - <meta name="viewport" content="width=device-width, initial-scale=1"/> - <meta name="twitter:card" content="summary"/> - <meta property="og:url" content="{{ page.url | url | absoluteUrl(metadata.url) }}"/> - <link rel="canonical" href="{{ page.url | url | absoluteUrl(metadata.url) }}"/> - <link rel="alternate" href="{{ metadata.feed.atom | url }}" type="application/atom+xml" title="{{ metadata.title }}"/> - <link rel="alternate" href="{ metadata.feed.json | url }" type="application/feed+json" title="{{ metadata.title }}"/> - <link rel="icon" href="{{ '/favicon.ico' | url }}" sizes="any"/> - <link rel="icon" href="{{ '/favicon/icon.svg' | url }}" type="image/svg+xml"/> - <link rel="apple-touch-icon" href="{{ '/favicon/192.png' | url }}"/> - <link rel="manifest" href="{{ '/app.webmanifest' | url }}" crossorigin="use-credentials"/> - <meta name="theme-color" content="{{ metadat.theme }}"/> - <link as="style" href="{{ '/index.css' | url }}" rel="stylesheet"/> - {% if syntaxhighlight %}<link as="style" href="{{ '/prism.css' | url }}" rel="stylesheet"/>{% endif %} - <script type="module" src="{{ '/index.js' | url }}"></script> - </head> - <body> - <header> - <nav> - <a href="#" id="nav-toogle">Sudomsg</a> - {% for nav in navigator %} - <a class="navlinks" href="{{ nav.url | url }}">{{ nav.title }}</a> - {% endfor %} - </nav> - </header> - <main> - {{ content | safe }} - </main> - <footer> - Subscribe: <a href="{{ metadata.feed.atom | url }}" >RSS</a> - <a href="{{ metadata.feed.json | url }}" >JSON</a> - </footer> - </body> -</html>
\ No newline at end of file diff --git a/src/layouts/page.11ty.js b/src/layouts/page.11ty.js new file mode 100644 index 0000000..53b0bd8 --- /dev/null +++ b/src/layouts/page.11ty.js @@ -0,0 +1,14 @@ +module.exports = class { + data() { + return { + layout: "base", + }; + } + + render(data) { + return `<article> + <h1>${data.title}</h1> + ${data.content} + </article>`; + } +}; diff --git a/src/layouts/post.11ty.js b/src/layouts/post.11ty.js new file mode 100644 index 0000000..2cd725d --- /dev/null +++ b/src/layouts/post.11ty.js @@ -0,0 +1,17 @@ +module.exports = class { + data() { + return { + layout: "page", + tags: [ + "posts" + ] + }; + } + + render(data) { + return `<small> + <time datetime="${data.page.date.toISOString()}">${data.page.date.toDateString()}</time> - <a rel=author href="${data.metadata.author.url}">${data.metadata.author.name}</a> + </small> + ${data.content}`; + } +}; diff --git a/src/layouts/post.njk b/src/layouts/post.njk deleted file mode 100644 index f8a4aee..0000000 --- a/src/layouts/post.njk +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: base.njk -tags: - - posts ---- -<article> - <h1>{{ title }}</h1> - <small> - <time datetime="{{ date | datefmt }}">{{ date | datefmt }}</time> - <a href="{{ metadata.author.url }}">{{ metadata.author.name }}</a> - </small> - {{ content | safe }} -</article>
\ No newline at end of file |