<!doctype html> <html class=“no-js” lang=“en” prefix=“dc: purl.org/dc/terms/”>
<head profile="http://www.w3.org/2005/10/profile"> <meta charset="utf-8"> {% if site.sitemark %} {%- capture preTitle %}{{ site.sitemark }} - {% endcapture -%} {%- else %} {%- capture postTitle %} - {{ site.title }}{% endcapture -%} {%- endif -%} {% comment -%} <!-- ----------------------------------------------------------------- I can find no validator for HTML embedded Dublin Core markup. Google's Structured Data Testing Tool completely ignores the stuff. Yandex's Structured Data Validator recognizes it given the prefix data in the <html> above, even tho according to RDFa Core Initial Context, dc: should be predefined (https://www.w3.org/2011/rdfa-context/rdfa-1.1) for some really good examples of how the markup should look in your code, see (https://www.w3.org/TR/rdfa-core/#s_initialcontexts) ------------------------------------------------------------------ --> {%- endcomment %} <title property="dc:title">{{ preTitle }}{{ page.title }}{{ postTitle }}</title> <meta name="description" property="dc:description" content="{{ page.description | default: site.description }}"> {% if page.tags or page.categories or page.keywords -%} {%- assign nothing = "" | split: ", " %} {%- assign ptags = page.tags | default: nothing %} {%- assign pcats = page.categories | default: nothing %} {%- assign pkeys = page.keywords | default: nothing %} {%- assign keys = ptags | concat: pcats | concat: pkeys | uniq | join: "," %} {%- assign keys = keys | remove_first: "blog," | remove_first: ",blog" -%} <meta name="keywords" property="dc:keywords" content="{{ keys }}" /> {%- endif -%} <meta name="viewport" content="width=device-width, initial-scale=1"> {% if page.meta-creator or site.author -%} <meta name="author" property="dc:creator" content="{{ page.meta-creator | default: site.author }}" /> {%- endif %} {% if page.meta-subject -%} <meta property="dc:subject" content="{{ page.meta-subject }}" /> {%- endif %} <meta property="dc:format" content="text/html" /> <meta property="dc:identifier" content="{{ page.url | absolute_url }}" /> {% if page.creation-date -%} <meta property="dc:date.created" content="{{ page.creation-date | date: '%Y-%m-%d' }}" /> {%- endif -%} {% if page.date -%} <meta property="dc:date.lastmodified" content="{{ page.date | date: '%Y-%m-%d' }}" /> {%- endif -%} {% if site.copynotice -%} <meta property="dc:rights" content="{{ site.copynotice }}" /> {%- endif -%} <link rel="manifest" href="site.webmanifest"> <link rel="apple-touch-icon" href="icon.png"> {%- comment -%} HTML5BP says: <!-- Place favicon.ico in the root directory --> but the W3C "discourage" this behaviour (https://www.w3.org/2005/10/howto-favicon), so... {%- endcomment %} <link rel="icon" href="{{ site.baseurl }}favicon.ico"> <link rel="stylesheet" href="{{ site.stPath }}normalize.css"> <link rel="stylesheet" href="{{ site.stPath }}HTML5BP-main.css"> <link rel="stylesheet" href="{{ site.stPath }}structRDFaL.css"> {% if page.isform -%}<link rel="stylesheet" href="{{ site.stPath }}form.css">{%- endif %} {% if page.excss -%} {%- for css in page.excss -%} <link rel="stylesheet" href="{{ site.stPath }}{{css}}.css"> {% endfor -%} {%- endif -%} <meta name="theme-color" content="#fafafa"> </head> {% comment -%} <!-- ------------------------------------------------------------------ pgtype: (typeof WebPage) you might want (see https://schema.org/WebPage) WebPage, AboutPage, ContactPage, CollectionPage (ImageGallery or VideoGallery) Also could be- ItemPage, ProfilePage, QAPage (or FAQPage), SearchResultsPage Will default to WebPage. The pageType/mainType page/layout pgtype/mntype dance is because Liquid/Jekyll frontmatter inheritance sucks. ---------------------------------------------------------------------- mntype: (MainEntity) some common ones: Event, Review, Book, HowTo, Article, BlogPost ---------------------------------------------------------------------- Some dates that could be put in: lastReviewed (last checked for accuracy) dateCreated dateModified datePublished name: usually page title description: breadcrumbs are marked up as an element of WebPage there are also "about" and "keywords" but Google frowns on schema markup that is not visible unless one wants to implement a poor-man's search via tags ------------------------------------------------------------------ --> {%- endcomment %} {%- if layout.pgtype or page.pgtype %} {% assign pageType = layout.pgtype | default: page.pgtype %} {%- endif -%} {%- if layout.mntype or page.mntype %} {% assign mainType = layout.mntype | default: page.mntype %} {%- endif -%} <body vocab="http://schema.org/" typeof="{{ pageType | default: 'WebPage' }}"> <!--[if lte IE 9]> <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p> <![endif]--> {%- if mainType %} <main tabindex="-1" id="main-thing" property="mainEntity" typeof="{{ mainType }}"> {%- else %} <main tabindex="-1" id="main-thing"> <h1 property="name">{{ page.title }}</h1> {%- endif %} <a href="/" title="Home"><img id="top-corner-logo" src="/icon.png" alt="logo"></a>
<!– <p>default: pageType={{pageType}}, spt:{{site.pgtype}}, lpt:{{layout.pgtype}}<br />
mainType={{mainType}}, smt:{{site.mntype}}, lmt:{{layout.mntype}}</p> --> {{ content }} </main> {% include nav.html -%} {% include footer.html -%} {%- comment -%} Since it is the <main> element that is scrolling, focus must be moved from the overall document to the <main> element for the default spacebar scrolling to work. Obviously, Javascript must be enabled for this to work since, sadly, there is no HTML/CSS way to do it. It is a cosmetic level convenience so if it does not enabled/work it is not fatal. {%- endcomment %} <script type="text/javascript">document.getElementById("main-thing").focus();</script> </body>
</html>