From db718ff235c833c8a878f5236e60b3e1ac4fb6ce Mon Sep 17 00:00:00 2001 From: Cameron Otsuka Date: Thu, 20 Mar 2025 16:30:03 -0700 Subject: [PATCH] merge into single post layout, add startswith filter, fix article list tags --- _includes/components/activitylist.njk | 4 ++- _includes/layouts/article.njk | 21 ------------- _includes/layouts/link.njk | 21 ------------- _includes/layouts/post.njk | 45 +++++++++++++++++++++++++++ _includes/layouts/review.njk | 21 ------------- content/articles/articles.json | 2 +- content/links/links.json | 2 +- content/reviews/reviews.json | 2 +- eleventy.config.js | 3 ++ 9 files changed, 54 insertions(+), 67 deletions(-) delete mode 100644 _includes/layouts/article.njk delete mode 100644 _includes/layouts/link.njk create mode 100644 _includes/layouts/post.njk delete mode 100644 _includes/layouts/review.njk diff --git a/_includes/components/activitylist.njk b/_includes/components/activitylist.njk index ef74ab0..51383cd 100644 --- a/_includes/components/activitylist.njk +++ b/_includes/components/activitylist.njk @@ -16,7 +16,9 @@
{{ item.data.title }}
{% set tag = false %} - {% if page.filePathStem === "/links" %} + {% if page.filePathStem === "/articles" %} + {% set tag = "" %} + {% elseif page.filePathStem === "/links" %} {% if "livestream" in item.data.tags %} {% set tag = "livestream" %} {% elseif "podcast" in item.data.tags %} diff --git a/_includes/layouts/article.njk b/_includes/layouts/article.njk deleted file mode 100644 index 9c0c02f..0000000 --- a/_includes/layouts/article.njk +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: layouts/base.njk ---- - -

{{ title }}

- -
- Metadata -
    -
  • Published:
  • -
  • Description: {{ description }}
  • -
  • Tags: {{ tags | reject("equalto", "articles") | sort | join(", ") }}
  • - {%- if posse %} - {%- include "components/posse.njk" %} - {%- endif %} -
-
- -
- {{ content | safe }} -
diff --git a/_includes/layouts/link.njk b/_includes/layouts/link.njk deleted file mode 100644 index 388c0ae..0000000 --- a/_includes/layouts/link.njk +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: layouts/base.njk ---- - -

{{ title }}

- -
- Metadata -
    -
  • Published:
  • -
  • Description: {{ description }}
  • -
  • Tags: {{ tags | reject("equalto", "links") | sort | join(", ") }}
  • - {%- if posse %} - {%- include "components/posse.njk" %} - {%- endif %} -
-
- -
- {{ content | safe }} -
diff --git a/_includes/layouts/post.njk b/_includes/layouts/post.njk new file mode 100644 index 0000000..b963f67 --- /dev/null +++ b/_includes/layouts/post.njk @@ -0,0 +1,45 @@ +--- +layout: layouts/base.njk +--- + +

+ {% if page.filePathStem | startsWith("/links") %} + {{ title }} + {% else %} + {{ title }} + {% endif %} +

+ +
+ Metadata +
    +
  • Published:
  • +
  • + {% if page.filePathStem | startsWith("/reviews") %} + Rating: + {% else %} + Description: + {% endif %} + {{ description }} +
  • +
  • + Tags: + {% if page.filePathStem | startsWith("/articles") %} + {{ tags | reject("equalto", "articles") | sort | join(", ") }} + {% elseif page.filePathStem | startsWith("/links") %} + {{ tags | reject("equalto", "links") | sort | join(", ") }} + {% elseif page.filePathStem | startsWith("/reviews") %} + {{ tags | reject("equalto", "reviews") | sort | join(", ") }} + {% else %} + {{ tags | sort | join(", ") }} + {% endif %} +
  • + {%- if posse %} + {%- include "components/posse.njk" %} + {%- endif %} +
+
+ +
+ {{ content | safe }} +
diff --git a/_includes/layouts/review.njk b/_includes/layouts/review.njk deleted file mode 100644 index 8dac2e6..0000000 --- a/_includes/layouts/review.njk +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: layouts/base.njk ---- - -

{{ title }}

- -
- Metadata -
    -
  • Published:
  • -
  • Rating: {{ description }}
  • -
  • Tags: {{ tags | reject("equalto", "articles") | sort | join(", ") }}
  • - {%- if posse %} - {%- include "components/posse.njk" %} - {%- endif %} -
-
- -
- {{ content | safe }} -
diff --git a/content/articles/articles.json b/content/articles/articles.json index 48b5076..a007138 100644 --- a/content/articles/articles.json +++ b/content/articles/articles.json @@ -1,5 +1,5 @@ { "tags": ["articles"], - "layout": "layouts/article.njk", + "layout": "layouts/post.njk", "permalink": "articles/{{ date | htmlDateString }}-{{ title | slugify }}/" } \ No newline at end of file diff --git a/content/links/links.json b/content/links/links.json index 68d72f0..203b398 100644 --- a/content/links/links.json +++ b/content/links/links.json @@ -1,5 +1,5 @@ { "tags": ["links"], - "layout": "layouts/link.njk", + "layout": "layouts/post.njk", "permalink": "links/{{ date | htmlDateString }}-{{ title | slugify }}/" } \ No newline at end of file diff --git a/content/reviews/reviews.json b/content/reviews/reviews.json index 72ea2b8..a4229ec 100644 --- a/content/reviews/reviews.json +++ b/content/reviews/reviews.json @@ -1,5 +1,5 @@ { "tags": ["reviews"], - "layout": "layouts/review.njk", + "layout": "layouts/post.njk", "permalink": "reviews/{{ date | htmlDateString }}-{{ title | slugify }}/" } \ No newline at end of file diff --git a/eleventy.config.js b/eleventy.config.js index df9d4bd..2d1a7f2 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -68,6 +68,9 @@ export default async function (eleventyConfig) { eleventyConfig.addFilter("min", (...numbers) => { return Math.min.apply(null, numbers); }); + eleventyConfig.addFilter("startsWith", (str, prefix) => { + return str.startsWith(prefix); + }); eleventyConfig.addPairedShortcode( "callout", function (content, level = "", format = "md", customLabel = "") { -- 2.51.0