Make metadata more consistent
This commit is contained in:
parent
561bcdc366
commit
8d2feaa76b
|
@ -62,4 +62,5 @@ class Article : Page {
|
||||||
@property string author() { return m_author; }
|
@property string author() { return m_author; }
|
||||||
@property DateTime firstPublished() { return m_firstPublished; }
|
@property DateTime firstPublished() { return m_firstPublished; }
|
||||||
@property DateTime updated() { return m_updated; }
|
@property DateTime updated() { return m_updated; }
|
||||||
|
@property bool isModified() { return m_firstPublished != m_updated; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
*/
|
*/
|
||||||
class Constants {
|
class Constants {
|
||||||
public static immutable string SITE_NAME = "Chris Netsoj.nl";
|
public static immutable string SITE_NAME = "Chris Netsoj.nl";
|
||||||
|
public static immutable string SITE_URL = "https://chris.netsoj.nl";
|
||||||
public static immutable string COPYRIGHT = "© Chris Josten, 2020";
|
public static immutable string COPYRIGHT = "© Chris Josten, 2020";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
extends /parts/page
|
extends /parts/page
|
||||||
block header
|
|
||||||
title #{content.title} - Chris Netsoj.nl
|
|
||||||
meta(name="og:title", content="#{content.title}")
|
|
||||||
meta(name="og:type", content="article")
|
|
||||||
meta(name="og:article", content="article")
|
|
||||||
|
|
||||||
block sidebar
|
block meta_data
|
||||||
|
- page_type = "article";
|
||||||
|
- page_title = content.title;
|
||||||
|
- page_url = "/post/" ~ content.slug;
|
||||||
|
- page_description = content.excerpt;
|
||||||
|
|
||||||
|
block extra_meta_data
|
||||||
|
meta(name="og:article:author:username", content=content.author)
|
||||||
|
meta(name="og:article:published_time", content=content.firstPublished.toISOExtString)
|
||||||
|
- if (content.isModified)
|
||||||
|
meta(name="og:article:modified_time", content=content.updated.toISOExtString)
|
||||||
|
|
||||||
block content
|
block content
|
||||||
article(itemscope, itemtype="https://schema.org/BlogPosting")
|
article(itemscope, itemtype="https://schema.org/BlogPosting")
|
||||||
|
@ -15,6 +20,6 @@ block content
|
||||||
p.subtitle
|
p.subtitle
|
||||||
| By <span itemprop="author">#{content.author}</span>
|
| By <span itemprop="author">#{content.author}</span>
|
||||||
| on <span itemprop="datePublished">#{content.firstPublished.toHumanString}</span>
|
| on <span itemprop="datePublished">#{content.firstPublished.toHumanString}</span>
|
||||||
- if (content.firstPublished != content.updated)
|
- if (content.isModified)
|
||||||
|, updated on <span itemprop="dateModified">#{content.updated.toHumanString}</span>
|
|, updated on <span itemprop="dateModified">#{content.updated.toHumanString}</span>
|
||||||
section(itemprop="articleBody") !{content.content}
|
section(itemprop="articleBody") !{content.content}
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
extends /parts/page.dt
|
extends /parts/page.dt
|
||||||
|
|
||||||
block header
|
block meta_data
|
||||||
title #{content.title} - Chris Netsoj.nl
|
- page_title = content.title;
|
||||||
|
- if (content.slug == "index")
|
||||||
|
- page_url = "/";
|
||||||
|
- else
|
||||||
|
- page_url = "/" ~ content.slug;
|
||||||
|
|
||||||
block sidebar
|
block sidebar
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
extends /parts/page
|
extends /parts/page
|
||||||
block header
|
block meta_data
|
||||||
title #{content.title} - Netsoj.nl
|
- page_title = content.title;
|
||||||
|
- page_url = "/project/" ~ content.slug;
|
||||||
|
- page_image = content.icon;
|
||||||
|
- page_description = content.description;
|
||||||
|
|
||||||
block sidebar
|
block sidebar
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,39 @@ doctype html
|
||||||
html(prefix="og: http://ogp.me/ns#")
|
html(prefix="og: http://ogp.me/ns#")
|
||||||
- import constants;
|
- import constants;
|
||||||
head
|
head
|
||||||
|
//- Kick off loading the css as fast as possible
|
||||||
meta(name="viewport", content="width=device-width; initial-scale=1")
|
meta(name="viewport", content="width=device-width; initial-scale=1")
|
||||||
link(rel="stylesheet", href="/static/style/base.css")
|
link(rel="stylesheet", href="/static/style/base.css")
|
||||||
|
|
||||||
|
- string page_image = "/static/img/logo.png";
|
||||||
|
- string page_title;
|
||||||
|
- string page_type;
|
||||||
|
- string page_url;
|
||||||
|
- string page_description;
|
||||||
|
block meta_data
|
||||||
|
|
||||||
|
- if (page_title !is null)
|
||||||
|
title #{page_title} - Chris Netsoj.nl
|
||||||
|
meta(name="og:title", content=page_title)
|
||||||
|
- else
|
||||||
|
title Chris Netsoj.nl
|
||||||
|
|
||||||
|
meta(name="og:site_name", content=Constants.SITE_NAME)
|
||||||
|
- if (page_image !is null)
|
||||||
|
meta(name="og:image", content=Constants.SITE_URL ~ page_image)
|
||||||
|
- if (page_type !is null)
|
||||||
|
meta(name="og:type", content=page_type)
|
||||||
|
- if (page_url !is null)
|
||||||
|
meta(name="og:url", content=Constants.SITE_URL ~ page_url)
|
||||||
|
- if (page_description !is null)
|
||||||
|
meta(name="og:description", content=page_description)
|
||||||
|
block extra_meta_data
|
||||||
|
|
||||||
link(rel="stylesheet", href="/static/style/highlight.css", defer)
|
link(rel="stylesheet", href="/static/style/highlight.css", defer)
|
||||||
link(rel="alternate stylesheet", href="/static/style/old.css", title="1999")
|
link(rel="alternate stylesheet", href="/static/style/old.css", title="1999")
|
||||||
link(rel="shortcut icon", href="/static/img/logo.png")
|
link(rel="shortcut icon", href="/static/img/logo.png")
|
||||||
link(rel="apple-touch-icon", href="/static/img/logo.png")
|
link(rel="apple-touch-icon", href="/static/img/logo.png")
|
||||||
meta(name="theme-color", content="#7f0602")
|
meta(name="theme-color", content="#7f0602")
|
||||||
meta(name="og:site_name", content="#{Constants.SITE_NAME}")
|
|
||||||
|
|
||||||
block header
|
block header
|
||||||
body
|
body
|
||||||
|
|
Loading…
Reference in a new issue