From 9bd7b0ba100a62b956132e88fb0daa8e65dbf3d6 Mon Sep 17 00:00:00 2001 From: madrilene Date: Sun, 19 Jan 2025 07:35:05 +0100 Subject: [PATCH] update schema handling and add docs entry for it --- src/_includes/head/schema.njk | 8 +-- .../{blogpost-schema.njk => BlogPosting.njk} | 0 .../schemas/{base-schema.njk => WebSite.njk} | 0 src/_layouts/post.njk | 2 +- src/docs/schema.md | 56 +++++++++++++++++++ 5 files changed, 61 insertions(+), 5 deletions(-) rename src/_includes/schemas/{blogpost-schema.njk => BlogPosting.njk} (100%) rename src/_includes/schemas/{base-schema.njk => WebSite.njk} (100%) create mode 100644 src/docs/schema.md diff --git a/src/_includes/head/schema.njk b/src/_includes/head/schema.njk index ec856c2..87d42a8 100644 --- a/src/_includes/head/schema.njk +++ b/src/_includes/head/schema.njk @@ -1,5 +1,5 @@ - -{% include "schemas/base-schema.njk" %} +{% include "schemas/WebSite.njk" %} - -{% if schema == 'blog' %}{%- include "schemas/blogpost-schema.njk" -%}{% endif %} +{% if schema %} + {%- include "schemas/" + schema + ".njk" -%} +{% endif %} diff --git a/src/_includes/schemas/blogpost-schema.njk b/src/_includes/schemas/BlogPosting.njk similarity index 100% rename from src/_includes/schemas/blogpost-schema.njk rename to src/_includes/schemas/BlogPosting.njk diff --git a/src/_includes/schemas/base-schema.njk b/src/_includes/schemas/WebSite.njk similarity index 100% rename from src/_includes/schemas/base-schema.njk rename to src/_includes/schemas/WebSite.njk diff --git a/src/_layouts/post.njk b/src/_layouts/post.njk index 8a037b2..920ef87 100644 --- a/src/_layouts/post.njk +++ b/src/_layouts/post.njk @@ -1,6 +1,6 @@ --- layout: base -schema: blog +schema: BlogPosting ---
diff --git a/src/docs/schema.md b/src/docs/schema.md new file mode 100644 index 0000000..0285e76 --- /dev/null +++ b/src/docs/schema.md @@ -0,0 +1,56 @@ +--- +title: Schema +--- + +Schema markup provides additional context for search engines and screen readers. The main schema template is included in the `` via `src/_includes/head/schema.njk`. New schemas should be placed in `src/_includes/schemas/`. + +To use the "BlogPosting" schema, set the schema key in the front matter: + +```yaml +--- +schema: BlogPosting +--- +``` + +To use an Event schema for example, create a template at `src/_includes/schemas/Event.njk`, with something similar to: + +{% raw %} + +```jinja2 + +``` + +{% endraw %} + +And reference it in the front matter: + +```yaml +--- +schema: Event +--- +``` + + + + + +