From 232599a7f8026df5453f8eb79f428052ce65fa00 Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Mon, 4 Nov 2024 23:23:20 +0000 Subject: [PATCH] Reformatting --- .prettierrc | 3 +++ _config/filters.js | 23 +++++++++++------- _data/eleventyDataSchema.js | 14 ++++++----- _data/metadata.js | 2 +- _includes/layouts/base.njk | 19 ++++++++++----- _includes/layouts/home.njk | 2 +- _includes/layouts/post.njk | 37 +++++++++++++++++++---------- _includes/postslist.njk | 19 +++++++++------ content/blog.njk | 2 +- content/content.11tydata.js | 2 +- content/index.njk | 7 +++--- content/sitemap.xml.njk | 16 ++++++------- content/tag-pages.njk | 4 ++-- content/tags.njk | 12 ++++++---- eleventy.config.js | 47 ++++++++++++++++++------------------- public/css/index.css | 25 ++++++++++---------- public/css/prism-diff.css | 2 +- vercel.json | 4 +++- 18 files changed, 140 insertions(+), 100 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..1518304 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "trailingComma": "none" +} diff --git a/_config/filters.js b/_config/filters.js index 4af2fe8..de80ba2 100644 --- a/_config/filters.js +++ b/_config/filters.js @@ -1,22 +1,26 @@ import { DateTime } from "luxon"; -export default function(eleventyConfig) { +export default function (eleventyConfig) { eleventyConfig.addFilter("readableDate", (dateObj, format, zone) => { // Formatting tokens for Luxon: https://moment.github.io/luxon/#/formatting?id=table-of-tokens - return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat(format || "dd LLLL yyyy"); + return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat( + format || "dd LLLL yyyy" + ); }); eleventyConfig.addFilter("htmlDateString", (dateObj) => { // dateObj input: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string - return DateTime.fromJSDate(dateObj, { zone: "utc" }).toFormat('yyyy-LL-dd'); + return DateTime.fromJSDate(dateObj, { zone: "utc" }).toFormat( + "yyyy-LL-dd" + ); }); // Get the first `n` elements of a collection. eleventyConfig.addFilter("head", (array, n) => { - if(!Array.isArray(array) || array.length === 0) { + if (!Array.isArray(array) || array.length === 0) { return []; } - if( n < 0 ) { + if (n < 0) { return array.slice(n); } @@ -29,12 +33,13 @@ export default function(eleventyConfig) { }); // Return the keys used in an object - eleventyConfig.addFilter("getKeys", target => { + eleventyConfig.addFilter("getKeys", (target) => { return Object.keys(target); }); eleventyConfig.addFilter("filterTagList", function filterTagList(tags) { - return (tags || []).filter(tag => ["all", "posts"].indexOf(tag) === -1); + return (tags || []).filter( + (tag) => ["all", "posts"].indexOf(tag) === -1 + ); }); - -}; +} diff --git a/_data/eleventyDataSchema.js b/_data/eleventyDataSchema.js index ca764ec..bb8e389 100644 --- a/_data/eleventyDataSchema.js +++ b/_data/eleventyDataSchema.js @@ -1,13 +1,15 @@ import { z } from "zod"; -import { fromZodError } from 'zod-validation-error'; +import { fromZodError } from "zod-validation-error"; -export default function(data) { +export default function (data) { // Draft content, validate `draft` front matter - let result = z.object({ - draft: z.boolean().or(z.undefined()), - }).safeParse(data); + let result = z + .object({ + draft: z.boolean().or(z.undefined()) + }) + .safeParse(data); - if(result.error) { + if (result.error) { throw fromZodError(result.error); } } diff --git a/_data/metadata.js b/_data/metadata.js index 4e20e6a..0e574e4 100644 --- a/_data/metadata.js +++ b/_data/metadata.js @@ -8,4 +8,4 @@ export default { email: "chris@kaczor.us", url: "https://chriskaczor.com/about/" } -} +}; diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk index bd45255..c75f4d6 100644 --- a/_includes/layouts/base.njk +++ b/_includes/layouts/base.njk @@ -33,7 +33,9 @@ {# {%- css %}{% include "node_modules/prismjs/themes/prism-okaidia.css" %}{% endcss %} #} {#- Render the CSS bundle using inlined CSS (for the fastest site performance in production) #} - + {#- Renders the CSS bundle using a separate file, if you can't set CSP directive style-src: 'unsafe-inline' #} {#- #} @@ -50,9 +52,11 @@ @@ -64,10 +68,13 @@ - + \ No newline at end of file diff --git a/_includes/layouts/home.njk b/_includes/layouts/home.njk index 35df4f1..cf8dc9c 100644 --- a/_includes/layouts/home.njk +++ b/_includes/layouts/home.njk @@ -2,4 +2,4 @@ layout: layouts/base.njk --- -{{ content | safe }} +{{ content | safe }} \ No newline at end of file diff --git a/_includes/layouts/post.njk b/_includes/layouts/post.njk index d1827cf..f110b64 100644 --- a/_includes/layouts/post.njk +++ b/_includes/layouts/post.njk @@ -7,22 +7,35 @@ layout: layouts/base.njk

{{ title }}

{{ content | safe }} {%- if collections.posts %} -{%- set previousPost = collections.posts | getPreviousCollectionItem %} -{%- set nextPost = collections.posts | getNextCollectionItem %} -{%- if nextPost or previousPost %} - -{%- endif %} -{%- endif %} + {%- set previousPost = collections.posts | getPreviousCollectionItem %} + {%- set nextPost = collections.posts | getNextCollectionItem %} + {%- if nextPost or previousPost %} + + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/_includes/postslist.njk b/_includes/postslist.njk index 99272c5..b3843c3 100644 --- a/_includes/postslist.njk +++ b/_includes/postslist.njk @@ -1,9 +1,14 @@ {%- css %}.postlist { counter-reset: start-from {{ (postslistCounter or postslist.length) + 1 }} }{% endcss %}
    -{% for post in postslist | reverse %} -
  1. - {% if post.data.title %}{{ post.data.title }}{% else %}{{ post.url }}{% endif %} - -
  2. -{% endfor %} -
+ {% for post in postslist | reverse %} +
  • + + {% if post.data.title %}{{ post.data.title }} + {% else %} + {{ post.url }} + {% endif %} + + +
  • + {% endfor %} + \ No newline at end of file diff --git a/content/blog.njk b/content/blog.njk index c11fdf8..2c15b83 100644 --- a/content/blog.njk +++ b/content/blog.njk @@ -7,4 +7,4 @@ const eleventyNavigation = {

    Archive

    {% set postslist = collections.posts %} -{% include "postslist.njk" %} +{% include "postslist.njk" %} \ No newline at end of file diff --git a/content/content.11tydata.js b/content/content.11tydata.js index 8b0bb8e..c188569 100644 --- a/content/content.11tydata.js +++ b/content/content.11tydata.js @@ -1,3 +1,3 @@ export default { - layout: "layouts/home.njk", + layout: "layouts/home.njk" }; diff --git a/content/index.njk b/content/index.njk index f7d17e1..225c5b0 100644 --- a/content/index.njk +++ b/content/index.njk @@ -8,7 +8,8 @@ const numberOfLatestPostsToShow = 3; --- {% set postsCount = collections.posts | length %} {% set latestPostsCount = postsCount | min(numberOfLatestPostsToShow) %} -

    Latest {{ latestPostsCount }} Post{% if latestPostsCount != 1 %}s{% endif %}

    +

    Latest {{ latestPostsCount }} Post{% if latestPostsCount != 1 %}s{% endif %} +

    {% set postslist = collections.posts | head(-1 * numberOfLatestPostsToShow) %} {% set postslistCounter = postsCount %} @@ -16,7 +17,7 @@ const numberOfLatestPostsToShow = 3; {% set morePosts = postsCount - numberOfLatestPostsToShow %} {% if morePosts > 0 %} -

    {{ morePosts }} more post{% if morePosts != 1 %}s{% endif %} can be found in the archive.

    +

    {{ morePosts }} more post{% if morePosts != 1 %}s{% endif %} can be found in the archive.

    {% endif %} {# List every content page in the project #} @@ -26,4 +27,4 @@ const numberOfLatestPostsToShow = 3;
  • {{ entry.url }}
  • {%- endfor %} -#} +#} \ No newline at end of file diff --git a/content/sitemap.xml.njk b/content/sitemap.xml.njk index ec1716d..a519aea 100644 --- a/content/sitemap.xml.njk +++ b/content/sitemap.xml.njk @@ -5,11 +5,11 @@ eleventyExcludeFromCollections: true --- -{%- for page in collections.all %} - {% set absoluteUrl %}{{ page.url | htmlBaseUrl(metadata.url) }}{% endset %} - - {{ absoluteUrl }} - {{ page.date | htmlDateString }} - -{%- endfor %} - + {%- for page in collections.all %} + {% set absoluteUrl %}{{ page.url | htmlBaseUrl(metadata.url) }}{% endset %} + + {{ absoluteUrl }} + {{ page.date | htmlDateString }} + + {%- endfor %} + \ No newline at end of file diff --git a/content/tag-pages.njk b/content/tag-pages.njk index a69aeef..b3261cb 100644 --- a/content/tag-pages.njk +++ b/content/tag-pages.njk @@ -19,7 +19,7 @@ const eleventyComputed = { ---

    Tagged “{{ tag }}”

    -{% set postslist = collections[ tag ] %} +{% set postslist = collections[tag] %} {% include "postslist.njk" %} -

    See all tags.

    +

    See all tags.

    \ No newline at end of file diff --git a/content/tags.njk b/content/tags.njk index 2423935..b658983 100644 --- a/content/tags.njk +++ b/content/tags.njk @@ -1,8 +1,10 @@

    Tags

    + {% for tag in collections | getKeys | filterTagList %} + {% set tagUrl %}/tags/{{ tag | slugify }}/{% endset %} +
  • + +
  • + {% endfor %} + \ No newline at end of file diff --git a/eleventy.config.js b/eleventy.config.js index 31f5ae0..a84548b 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -1,4 +1,8 @@ -import { IdAttributePlugin, InputPathToUrlTransformPlugin, HtmlBasePlugin } from "@11ty/eleventy"; +import { + IdAttributePlugin, + InputPathToUrlTransformPlugin, + HtmlBasePlugin +} from "@11ty/eleventy"; import { feedPlugin } from "@11ty/eleventy-plugin-rss"; import pluginSyntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight"; import pluginNavigation from "@11ty/eleventy-navigation"; @@ -7,10 +11,10 @@ import { eleventyImageTransformPlugin } from "@11ty/eleventy-img"; import pluginFilters from "./_config/filters.js"; /** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */ -export default async function(eleventyConfig) { +export default async function (eleventyConfig) { // Drafts, see also _data/eleventyDataSchema.js eleventyConfig.addPreprocessor("drafts", "*", (data, content) => { - if(data.draft && process.env.ELEVENTY_RUN_MODE === "build") { + if (data.draft && process.env.ELEVENTY_RUN_MODE === "build") { return false; } }); @@ -34,11 +38,11 @@ export default async function(eleventyConfig) { // Per-page bundles, see https://github.com/11ty/eleventy-plugin-bundle // Adds the {% css %} paired shortcode eleventyConfig.addBundle("css", { - toFileDirectory: "dist", + toFileDirectory: "dist" }); // Adds the {% js %} paired shortcode eleventyConfig.addBundle("js", { - toFileDirectory: "dist", + toFileDirectory: "dist" }); // Official plugins @@ -61,7 +65,7 @@ export default async function(eleventyConfig) { }, collection: { name: "posts", - limit: 10, + limit: 10 }, metadata: { language: "en", @@ -87,7 +91,7 @@ export default async function(eleventyConfig) { defaultAttributes: { // e.g. assigned on the HTML tag will override these values. loading: "lazy", - decoding: "async", + decoding: "async" } }); @@ -101,7 +105,7 @@ export default async function(eleventyConfig) { }); eleventyConfig.addShortcode("currentBuildDate", () => { - return (new Date()).toISOString(); + return new Date().toISOString(); }); eleventyConfig.amendLibrary("md", (mdLib) => { @@ -127,9 +131,11 @@ export default async function(eleventyConfig) { return defaultImageRender(tokens, idx, options, env, self); }; - var defaultLinkOpenRender = mdLib.renderer.rules.link_open || function (tokens, idx, options, env, self) { - return self.renderToken(tokens, idx, options); - }; + var defaultLinkOpenRender = + mdLib.renderer.rules.link_open || + function (tokens, idx, options, env, self) { + return self.renderToken(tokens, idx, options); + }; mdLib.renderer.rules.link_open = function ( tokens, @@ -150,7 +156,6 @@ export default async function(eleventyConfig) { return defaultLinkOpenRender(tokens, idx, options, env, self); }; - }); // Features to make your build faster (when you need them) @@ -160,18 +165,12 @@ export default async function(eleventyConfig) { // https://www.11ty.dev/docs/copy/#emulate-passthrough-copy-during-serve // eleventyConfig.setServerPassthroughCopyBehavior("passthrough"); -}; +} export const config = { // Control which files Eleventy will process // e.g.: *.md, *.njk, *.html, *.liquid - templateFormats: [ - "md", - "njk", - "html", - "liquid", - "11ty.js", - ], + templateFormats: ["md", "njk", "html", "liquid", "11ty.js"], // Pre-process *.md files with: (default: `liquid`) markdownTemplateEngine: "njk", @@ -181,11 +180,11 @@ export const config = { // These are all optional: dir: { - input: "content", // default: "." - includes: "../_includes", // default: "_includes" (`input` relative) - data: "../_data", // default: "_data" (`input` relative) + input: "content", // default: "." + includes: "../_includes", // default: "_includes" (`input` relative) + data: "../_data", // default: "_data" (`input` relative) output: "_site" - }, + } // ----------------------------------------------------------------- // Optional items: diff --git a/public/css/index.css b/public/css/index.css index d7f8b66..308c0d5 100644 --- a/public/css/index.css +++ b/public/css/index.css @@ -1,13 +1,16 @@ /* Defaults */ :root { --font-family: Roboto, -apple-system, system-ui, sans-serif; - --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; + --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, + Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, + Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, + Courier, monospace; } /* Theme colors */ :root { --color-gray-20: #e0e0e0; - --color-gray-50: #C0C0C0; + --color-gray-50: #c0c0c0; --color-gray-90: #333; --background-color: #fff; @@ -15,7 +18,7 @@ --text-color: var(--color-gray-90); --text-color-link: #082840; --text-color-link-active: #5f2b48; - --text-color-link-visited: #17050F; + --text-color-link-visited: #17050f; --syntax-tab-size: 2; } @@ -23,7 +26,7 @@ @media (prefers-color-scheme: dark) { :root { --color-gray-20: #e0e0e0; - --color-gray-50: #C0C0C0; + --color-gray-50: #c0c0c0; --color-gray-90: #dad8d8; /* --text-color is assigned to --color-gray-_ above */ @@ -35,7 +38,6 @@ } } - /* Global stylesheet */ * { box-sizing: border-box; @@ -113,7 +115,7 @@ header:after { .links-nextprev { display: flex; justify-content: space-between; - gap: .5em 1em; + gap: 0.5em 1em; list-style: ""; border-top: 1px dashed var(--color-gray-20); padding: 1em 0; @@ -138,7 +140,7 @@ code { font-family: var(--font-family-monospace); } pre:not([class*="language-"]) { - margin: .5em 0; + margin: 0.5em 0; line-height: 1.375; /* 22px /16 */ -moz-tab-size: var(--syntax-tab-size); -o-tab-size: var(--syntax-tab-size); @@ -160,7 +162,7 @@ code { /* Header */ header { display: flex; - gap: 1em .5em; + gap: 1em 0.5em; flex-wrap: wrap; align-items: center; padding: 1em; @@ -226,8 +228,8 @@ header { font-size: 1.1875em; /* 19px /16 */ font-weight: 700; flex-basis: calc(100% - 1.5rem); - padding-left: .25em; - padding-right: .5em; + padding-left: 0.25em; + padding-right: 0.5em; text-underline-position: from-font; text-underline-offset: 0; text-decoration-thickness: 1px; @@ -252,7 +254,7 @@ header { .post-metadata { display: inline-flex; flex-wrap: wrap; - gap: .5em; + gap: 0.5em; list-style: none; padding: 0; margin: 0; @@ -260,4 +262,3 @@ header { .post-metadata time { margin-right: 1em; } - diff --git a/public/css/prism-diff.css b/public/css/prism-diff.css index 9f7e676..aae3063 100644 --- a/public/css/prism-diff.css +++ b/public/css/prism-diff.css @@ -31,7 +31,7 @@ pre[class*="language-diff-"] { .token.prefix.inserted, .token.prefix.deleted { width: var(--eleventy-code-padding); - background-color: rgba(0,0,0,.2); + background-color: rgba(0, 0, 0, 0.2); } /* Optional: full-width background color */ diff --git a/vercel.json b/vercel.json index a9d5b12..5afbede 100644 --- a/vercel.json +++ b/vercel.json @@ -1 +1,3 @@ -{ "trailingSlash": true } +{ + "trailingSlash": true +}