From c5584aff9d45e5eb3a32a0ba23167a352a5b878b Mon Sep 17 00:00:00 2001 From: Reed Piernock <18013388+reedcodes@users.noreply.github.com> Date: Fri, 10 Mar 2023 15:11:59 -0500 Subject: [PATCH] Blog posts can be external links (#71) * add ability for blog posts to link to external sites * adjust review blog, placeholder for roanoke star * add external icon to external blog review link * temp remove placeholder external review --- source/_config/collections/blog-posts.js | 2 +- source/_includes/icons/external.svg | 4 ++++ source/_includes/post/header.njk | 5 +++++ source/_includes/post/list.njk | 2 +- source/_sass/post/_header.scss | 13 +++++++++++++ source/blog/review/review.json | 8 ++++++++ 6 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 source/_includes/icons/external.svg create mode 100644 source/blog/review/review.json diff --git a/source/_config/collections/blog-posts.js b/source/_config/collections/blog-posts.js index 4a6f2c6a..68f6fbef 100644 --- a/source/_config/collections/blog-posts.js +++ b/source/_config/collections/blog-posts.js @@ -1,3 +1,3 @@ module.exports = function( collection ) { - return [...collection.getFilteredByGlob( "./source/blog/post/*/*.md" )].reverse(); + return [...collection.getFilteredByGlob( "./source/blog/*/**/*.md" )].reverse(); }; diff --git a/source/_includes/icons/external.svg b/source/_includes/icons/external.svg new file mode 100644 index 00000000..d45f01ef --- /dev/null +++ b/source/_includes/icons/external.svg @@ -0,0 +1,4 @@ + + external link + + diff --git a/source/_includes/post/header.njk b/source/_includes/post/header.njk index ef441a48..c943d412 100644 --- a/source/_includes/post/header.njk +++ b/source/_includes/post/header.njk @@ -15,6 +15,11 @@ <{{- post_title_heading }} class="post-title"> {%- if post_title_link -%}{%- endif -%} {{ post_title }} + + {%- if post.data.external -%} + {%- include "icons/external.svg" -%} + {%- endif -%} + {%- if post_title_link -%}{%- endif -%} diff --git a/source/_includes/post/list.njk b/source/_includes/post/list.njk index fd8e23a0..5e4527c4 100644 --- a/source/_includes/post/list.njk +++ b/source/_includes/post/list.njk @@ -6,7 +6,7 @@ {%- for post in post_list -%} {%- set post_feature = post.data.feature -%} {%- set post_date = post.data.date -%} - {%- set post_url = post.url -%} + {%- set post_url = (post.data.external if post.data.external else post.url) -%} {%- set post_title = post.data.title -%} {%- set post_teaser = post.data.teaser -%} {%- set post_category = post.data.category -%} diff --git a/source/_sass/post/_header.scss b/source/_sass/post/_header.scss index 8417c629..fb0c03cd 100644 --- a/source/_sass/post/_header.scss +++ b/source/_sass/post/_header.scss @@ -5,6 +5,19 @@ padding-block: 5vh; } + &-header { + .icon-external { + --fillColor: currentColor; + + display: inline-block; + max-block-size: 0.6em; + inline-size: auto; + margin-inline-start: 0.25em; + vertical-align: middle; + + } + } + &-date { font-size: 1rem; } diff --git a/source/blog/review/review.json b/source/blog/review/review.json new file mode 100644 index 00000000..2b9c36cd --- /dev/null +++ b/source/blog/review/review.json @@ -0,0 +1,8 @@ +{ + "layout": "layouts/post.njk", + "permalink": "/blog/review/{{ title | slugify }}/", + "eleventyNavigation": { + "parent": "Blog" + }, + "post_title_heading": "h1" +}