summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--templates/base.html38
-rw-r--r--templates/blog-post.html53
-rw-r--r--templates/blog.html7
-rw-r--r--templates/includes/blog-json-ld.html20
-rw-r--r--templates/index.html16
-rw-r--r--templates/macros/blog.html21
6 files changed, 133 insertions, 22 deletions
diff --git a/templates/base.html b/templates/base.html
index e2c145f..024907d 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -26,6 +26,44 @@
content="Muted green Hilbert-curve logo beside the words “Still Thinking About It” on a dark blue background">
<meta name="fediverse:creator" content="@me@dennisfink.me">
{% endblock meta %}
+ {% block json_ld %}
+ <script type="application/ld+json">
+ {
+ "@context": "https://schema.org",
+ "@graph": [{
+ "@type": "Person",
+ "@id": "{{ '/about' | url(absolute=True, external=True) }}#person",
+ "name": "Dennis Fink",
+ "url": "{{ '/about' | url(absolute=True, external=True) }}",
+ "sameAs": [
+ "https://social.dennisfink.me/@me"
+ ],
+ "gender": "Male"
+ }, {
+ "@type": "WebSite",
+ "@id": "{{ '/' | url(absolute=True, external=True) }}#website",
+ "name": "{{ bag('blog.name') }}",
+ "url": "{{ '/' | url(absolute=True, external=True) }}",
+ "author": {
+ "@id": "{{ '/about' | url(absolute=True, external=True) }}#person"
+ },
+ "publisher": {
+ "@id": "{{ '/about' | url(absolute=True, external=True) }}#person"
+ },
+ "inLanguage": "en",
+ "image": {
+ "@type": "ImageObject",
+ "@id": "{{ '/' | url(absolute=True, external=True) }}#website-image",
+ "url": "{{ '/static/images/logo.png' | url(absolute=True, external=True) }}",
+ "caption": "Still Thinking About It Logo",
+ "encodingFormat": "image/png",
+ "width": "800px",
+ "height": "800px"
+ }
+ }]
+ }
+ </script>
+ {% endblock %}
{% block styles %}
<link rel="stylesheet"
type="text/css"
diff --git a/templates/blog-post.html b/templates/blog-post.html
index 0844351..f5e8bbe 100644
--- a/templates/blog-post.html
+++ b/templates/blog-post.html
@@ -22,10 +22,63 @@
<meta property="article:tag" content="{{ t }}">
{% endfor %}
{% endblock %}
+
+{% block json_ld %}
+ {{ super() }}
+ {% include "includes/blog-json-ld.html" %}
+ {% if this.publication_date %}
+ {% set post_url = this | url(absolute=True, external=True) %}
+ {% set post_id = post_url ~ '#blogposting' %}
+ {% set person_url = '/about' | url(absolute=True, external=True) %}
+ {% set person_id = person_url ~ '#person' %}
+ {% set blog_url = '/blog' | url(absolute=True, external=True) %}
+ {% set blog_id = blog_url ~ '#blog' %}
+ {% set modified_date = this.publication_date %}
+ {% if this.updated_date %}
+ {% set modified_date = this.updated_date %}
+ {% endif %}
+ {% set post_description = bag('blog.tagline') %}
+ {% if this.description %}
+ {% set post_description = this.description %}
+ {% endif %}
+ {% if this.category %}
+ {% set category = site.get("/categories/" + this.category).name %}
+ {% endif %}
+
+ <script type="application/ld+json">
+ {
+ "@context": "https://schema.org",
+ "@type": "BlogPosting",
+ "@id": "{{ post_id }}",
+ "mainEntityOfPage": "{{ post_url }}",
+ "url": "{{ post_url }}",
+ "isPartOf": {
+ "@id": "{{ blog_id }}"
+ },
+ "headline": "{{ this.title }}",
+ "name": "{{ this.title }}",
+ "description": "{{ post_description }}",
+ "datePublished": "{{ this.publication_date | dateformat('yyyy-MM-dd') }}T00:00:00Z",
+ "dateModified": "{{ modified_date | dateformat('yyyy-MM-dd') }}T00:00:00Z",
+ "inLanguage": "en",
+ "author": {
+ "@id": "{{ person_id }}"
+ },
+ "publisher": {
+ "@id": "{{ person_id }}"
+ },
+ "keywords": "{{ this.tags | join(', ') }}",
+ "articleSection": "{{ category }}"
+ }
+ </script>
+ {% endif %}
+{% endblock %}
+
{% block styles %}
{{ super() }}
<link rel="stylesheet"
type="text/css"
href="{{ '/static/css/blog.css'|asseturl }}">
{% endblock %}
+
{% block content %}{{ render_blog_post(this) }}{% endblock %}
diff --git a/templates/blog.html b/templates/blog.html
index 0ee96c7..4c011a1 100644
--- a/templates/blog.html
+++ b/templates/blog.html
@@ -6,10 +6,17 @@
{{ super() }}
<meta property="og:type" content="website">
{% endblock %}
+
+{% block json_ld %}
+ {{ super() }}
+ {% include "includes/blog-json-ld.html" %}
+{% endblock json_ld %}
+
{% block styles %}
{{ super() }}
<link rel="stylesheet"
type="text/css"
href="{{ '/static/css/blog.css'|asseturl }}">
{% endblock %}
+
{% block content %}{{ render_blog_index(this.pagination) }}{% endblock %}
diff --git a/templates/includes/blog-json-ld.html b/templates/includes/blog-json-ld.html
new file mode 100644
index 0000000..63d3c66
--- /dev/null
+++ b/templates/includes/blog-json-ld.html
@@ -0,0 +1,20 @@
+<script type="application/ld+json">
+ {
+ "@context": "https://schema.org",
+ "@type": "Blog",
+ "@id": "{{ '/blog' | url(absolute=True, external=True) }}#blog",
+ "name": "{{ bag('blog.name') }}",
+ "description": "{{ bag('blog.tagline') }}",
+ "url": "{{ '/blog' | url(absolute=True, external=True) }}",
+ "inLanguage": "en",
+ "isPartOf": {
+ "@id": "{{ '/' | url(absolute=True, external=True) }}#website"
+ },
+ "author": {
+ "@id": "{{ '/about' | url(absolute=True, external=True) }}#person"
+ },
+ "publisher": {
+ "@id": "{{ '/about' | url(absolute=True, external=True) }}#person"
+ }
+ }
+</script>
diff --git a/templates/index.html b/templates/index.html
index 0ee96c7..396114f 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -1,15 +1 @@
-{% extends "base.html" %}
-
-{% from "macros/blog.html" import render_blog_index %}
-
-{% block meta %}
- {{ super() }}
- <meta property="og:type" content="website">
-{% endblock %}
-{% block styles %}
- {{ super() }}
- <link rel="stylesheet"
- type="text/css"
- href="{{ '/static/css/blog.css'|asseturl }}">
-{% endblock %}
-{% block content %}{{ render_blog_index(this.pagination) }}{% endblock %}
+{% include "blog.html" %}
diff --git a/templates/macros/blog.html b/templates/macros/blog.html
index b4caafe..904e59e 100644
--- a/templates/macros/blog.html
+++ b/templates/macros/blog.html
@@ -19,11 +19,11 @@
{% endmacro %}
{% macro render_blog_post(post, show_toc=True) %}
- <article>
+ <article class="h-entry">
<header>
<div>
<h2>
- <a href="{{ post|url }}">{{ post.title }}</a>
+ <a href="{{ post|url }}" class="u-url p-name">{{ post.title }}</a>
</h2>
<dl>
{% if post.publication_date %}
@@ -31,7 +31,8 @@
<dt>Posted:</dt>
<dd>
<a href="{{ ('/blog@index-pages/year/{}'.format(post.publication_date.year) ) | url }}">
- <time datetime="{{ post.publication_date | dateformat('yyyy-MM-dd') }}">{{ post.publication_date | dateformat("d MMMM yyyy") }}</time>
+ <time datetime="{{ post.publication_date | dateformat('yyyy-MM-dd') }}"
+ class="dt-published">{{ post.publication_date | dateformat("d MMMM yyyy") }}</time>
</a>
</dd>
</div>
@@ -47,7 +48,8 @@
<div>
<dt>Last updated:</dt>
<dd>
- <time datetime="{{ post.updated_date | dateformat('yyyy-MM-dd') }}">{{ post.updated_date | dateformat("d MMMM yyyy") }}</time>
+ <time datetime="{{ post.updated_date | dateformat('yyyy-MM-dd') }}"
+ class="dt-updated">{{ post.updated_date | dateformat("d MMMM yyyy") }}</time>
</dd>
</div>
{% endif %}
@@ -56,10 +58,13 @@
<dt>Category:</dt>
<dd>
{% set category = site.get('/categories/'+post.category) %}
- <a href="{{ category|url }}">{{ category.name }}</a>
+ <a href="{{ category|url }}" class="p-category">{{ category.name }}</a>
</dd>
</div>
{% endif %}
+ <a rel="author"
+ class="p-author h-card display-none"
+ href="{{ '/about' | url(absolute=True) }}">Dennis Fink</a>
</dl>
</div>
{% if show_toc and post.render_toc %}
@@ -67,7 +72,7 @@
{{ render_toc(toc) }}
{% endif %}
</header>
- {{ post.body }}
+ <div class="e-content">{{ post.body }}</div>
{% if post.tags %}
<footer>
<p>Tagged with</p>
@@ -75,7 +80,9 @@
{% for tag in post.tags %}
<li>
{% set tag_slug = tag|trim|lower|replace(" ", "-") %}
- <a href="{{ ('/blog/tag/' ~ tag_slug ~ '/')|url }}" rel="tag">{{ tag }}</a>
+ <a href="{{ ('/blog/tag/' ~ tag_slug ~ '/')|url }}"
+ rel="tag"
+ class="p-category">{{ tag }}</a>
{%- if not loop.last -%}, {%- else -%}.{%- endif -%}
</li>
{% endfor %}