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 @@
+
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 -%}
{{- post_title_heading -}}>
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"
+}