various fixes
This commit is contained in:
parent
1fd9adcb52
commit
46bd223627
29 changed files with 6093 additions and 152 deletions
|
@ -34,6 +34,10 @@
|
|||
{{- $printStylesheet := resources.Get "css/print.scss" }}
|
||||
{{- $printStylesheet := $printStylesheet | resources.ToCSS | resources.Fingerprint }}
|
||||
<link rel="stylesheet" media="print" href="{{ $printStylesheet.Permalink }}" integrity="{{ $printStylesheet.Data.Integrity | html }}">
|
||||
|
||||
{{- if .Param "math" -}}
|
||||
{{- partialCached "math.html" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- block "header-scripts" . -}}<!-- -->{{- end -}}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{{ define "header-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
<script id="Map-script" src="/js/leaflet.js"></script>
|
||||
<script id="Map-script" src="/js/leaflet/leaflet.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="{{ ( $.Page.Resources.GetMatch "style").RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ with .Params.locations }}
|
||||
<link rel="stylesheet" href="/css/leaflet.css">
|
||||
<link rel="stylesheet" href="/css/leaflet/leaflet.css">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -44,14 +44,9 @@
|
|||
</script>
|
||||
{{ end }}
|
||||
{{ with .Params.scripts }}
|
||||
{{ if in . "mathjax" }}
|
||||
<script src="/js/polyfill.js"></script>
|
||||
<script id="MathJax-script" async src="/js/mathjax/tex-chtml.js"></script>
|
||||
<script src="/js/mathjax/config.js"></script>
|
||||
{{ end }}
|
||||
{{ if in . "charts" }}
|
||||
{{ $chartsConfigJS := $.Page.Resources.GetMatch "charts-init" | fingerprint }}
|
||||
<script id="Charts-script" src="/js/chart.js"></script>
|
||||
<script id="Charts-script" src="/js/chart/chart.js"></script>
|
||||
<script id="Charts-config-script" src="{{ $chartsConfigJS.Permalink }}" integrity="{{ $chartsConfigJS.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@ -94,9 +89,9 @@
|
|||
{{ end }}
|
||||
</div>
|
||||
|
||||
<p class="article-header__word-count">~<span itemprop="wordCount">{{ .FuzzyWordCount | lang.NumFmt 0 }}</span> words</p>
|
||||
<p class="article-header__publish-date">Published: <span itemprop="datePublished" datetime="{{ .PublishDate }}">{{ .PublishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .PublishDate.Day}}st{{ else if in (slice 2 22) .PublishDate.Day}}nd{{ else if in (slice 3 23) .PublishDate.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .PublishDate.Format "2006" | lang.NumFmt 0 }} <abbr style="text-transform: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></span></p>
|
||||
<p class="article-header__modified-date">Last modified: <span itemprop="dateModified" datetime="{{ .Lastmod }}">{{ .Lastmod.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .Lastmod.Day}}st{{ else if in (slice 2 22) .Lastmod.Day}}nd{{ else if in (slice 3 23) .Lastmod.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .Lastmod.Format "2006" | lang.NumFmt 0 }} <abbr style="text-transform: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></span></p>
|
||||
<p class="article-header__word-count">~<span itemprop="wordCount">{{ .FuzzyWordCount | lang.FormatNumberCustom 0 }}</span> words</p>
|
||||
<p class="article-header__publish-date">Published: <span itemprop="datePublished" datetime="{{ .PublishDate }}">{{ .PublishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .PublishDate.Day}}st{{ else if in (slice 2 22) .PublishDate.Day}}nd{{ else if in (slice 3 23) .PublishDate.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .PublishDate.Format "2006" | lang.FormatNumberCustom 0 }} <abbr style="text-transform: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></span></p>
|
||||
<p class="article-header__modified-date">Last modified: <span itemprop="dateModified" datetime="{{ .Lastmod }}">{{ .Lastmod.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .Lastmod.Day}}st{{ else if in (slice 2 22) .Lastmod.Day}}nd{{ else if in (slice 3 23) .Lastmod.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .Lastmod.Format "2006" | lang.FormatNumberCustom 0 }} <abbr style="text-transform: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></span></p>
|
||||
|
||||
{{ $post_age_in_years := math.Round ( div ( div ( now.Sub .PublishDate ).Hours 24 ) 365 ) }}
|
||||
{{ if ( or .Params.site .Params.controversial ( gt $post_age_in_years 2 ) ) }}
|
||||
|
|
|
@ -7,58 +7,7 @@
|
|||
{{ define "main-type" }}{{ .Params.mainType }}{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
<script>
|
||||
// Source: https://css-tricks.com/the-complete-guide-to-lazy-loading-images/
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var lazyloadImages;
|
||||
|
||||
if ("IntersectionObserver" in window) {
|
||||
lazyloadImages = document.querySelectorAll(".lazy");
|
||||
var imageObserver = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
console.log("Ding");
|
||||
var image = entry.target;
|
||||
image.classList.remove("lazy");
|
||||
imageObserver.unobserve(image);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
lazyloadImages.forEach(function(image) {
|
||||
imageObserver.observe(image);
|
||||
});
|
||||
} else {
|
||||
var lazyloadThrottleTimeout;
|
||||
lazyloadImages = document.querySelectorAll(".lazy");
|
||||
|
||||
function lazyload () {
|
||||
if(lazyloadThrottleTimeout) {
|
||||
clearTimeout(lazyloadThrottleTimeout);
|
||||
}
|
||||
|
||||
lazyloadThrottleTimeout = setTimeout(function() {
|
||||
var scrollTop = window.pageYOffset;
|
||||
lazyloadImages.forEach(function(img) {
|
||||
if(img.offsetTop < (window.innerHeight + scrollTop)) {
|
||||
img.src = img.dataset.src;
|
||||
img.classList.remove('lazy');
|
||||
}
|
||||
});
|
||||
if(lazyloadImages.length == 0) {
|
||||
document.removeEventListener("scroll", lazyload);
|
||||
window.removeEventListener("resize", lazyload);
|
||||
window.removeEventListener("orientationChange", lazyload);
|
||||
}
|
||||
}, 20);
|
||||
}
|
||||
|
||||
document.addEventListener("scroll", lazyload);
|
||||
window.addEventListener("resize", lazyload);
|
||||
window.addEventListener("orientationChange", lazyload);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/js/lazy-images.js"></script>
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-header" }}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{{ define "header-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
<script id="Map-script" src="/js/leaflet.js"></script>
|
||||
<script id="Map-script" src="/js/leaflet/leaflet.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="{{ ( $.Page.Resources.GetMatch "style").RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ with .Params.locations }}
|
||||
<link rel="stylesheet" href="/css/leaflet.css">
|
||||
<link rel="stylesheet" href="/css/leaflet/leaflet.css">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -44,16 +44,9 @@
|
|||
if (map.getZoom() < 10) map.setZoom(10);
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ with .Params.scripts }}
|
||||
{{ if in . "mathjax" }}
|
||||
<script src="/js/polyfill.js"></script>
|
||||
<script id="MathJax-script" async src="/js/mathjax/tex-chtml.js"></script>
|
||||
<script src="/js/mathjax/config.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if $.HasShortcode "chart" }}
|
||||
{{ $chartsConfigJS := $.Page.Resources.GetMatch "charts-init" | fingerprint }}
|
||||
<script id="Charts-script" src="/js/chart.js"></script>
|
||||
<script id="Charts-script" src="/js/chart/chart.js"></script>
|
||||
<script id="Charts-config-script" src="{{ $chartsConfigJS.Permalink }}" integrity="{{ $chartsConfigJS.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@ -130,11 +123,11 @@
|
|||
{{ end }}
|
||||
</div>
|
||||
|
||||
<p class="article-header__word-count">~<span itemprop="wordCount">{{ .FuzzyWordCount | lang.NumFmt 0 }}</span> words</p>
|
||||
<p class="article-header__word-count">~<span itemprop="wordCount">{{ .FuzzyWordCount | lang.FormatNumberCustom 0 }}</span> words</p>
|
||||
|
||||
<p class="article-header__publish-date">Published: <time class="dt-published" datetime="{{ .PublishDate | time.Format "2006-01-02T15:04:05-07:00" }}" itemprop="datePublished">{{ .PublishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .PublishDate.Day}}st{{ else if in (slice 2 22) .PublishDate.Day}}nd{{ else if in (slice 3 23) .PublishDate.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .PublishDate.Format "2006" | lang.NumFmt 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time></p>
|
||||
<p class="article-header__publish-date">Published: <time class="dt-published" datetime="{{ .PublishDate | time.Format "2006-01-02T15:04:05-07:00" }}" itemprop="datePublished">{{ .PublishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .PublishDate.Day}}st{{ else if in (slice 2 22) .PublishDate.Day}}nd{{ else if in (slice 3 23) .PublishDate.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .PublishDate.Format "2006" | lang.FormatNumberCustom 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time></p>
|
||||
|
||||
<p class="article-header__modified-date">Last modified: <time class="dt-updated" datetime="{{ .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }}" itemprop="dateModified">{{ .Lastmod.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .Lastmod.Day}}st{{ else if in (slice 2 22) .Lastmod.Day}}nd{{ else if in (slice 3 23) .Lastmod.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .Lastmod.Format "2006" | lang.NumFmt 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time></p>
|
||||
<p class="article-header__modified-date">Last modified: <time class="dt-updated" datetime="{{ .Lastmod | time.Format "2006-01-02T15:04:05-07:00" }}" itemprop="dateModified">{{ .Lastmod.Format "January 2" }}<sup>{{ if in (slice 1 21 31) .Lastmod.Day}}st{{ else if in (slice 2 22) .Lastmod.Day}}nd{{ else if in (slice 3 23) .Lastmod.Day}}rd{{ else }}th{{ end }}</sup>, 1{{ .Lastmod.Format "2006" | lang.FormatNumberCustom 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time></p>
|
||||
|
||||
<p style="display: none">Author{{ with .Params.authors }}s{{ end }}:
|
||||
{{- with .Params.authors -}}
|
||||
|
@ -216,9 +209,9 @@
|
|||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a class="button" href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
<li><a href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a class="button" href="{{ . }}">Link</a></li>
|
||||
<li><a href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
|
@ -229,9 +222,9 @@
|
|||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a class="button" href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
<li><a href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a class="button" href="{{ . }}">Link</a></li>
|
||||
<li><a href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{{ define "header-scripts" }}
|
||||
{{ if ( or ( eq .Type "cv" ) ( .IsDescendant ( .GetPage "/cv/organisations" ) ) ) }}
|
||||
<script id="Google-Charts-script" src="/js/google-charts.js"></script>
|
||||
<script id="Google-Charts-script" src="/js/google-charts/google-charts.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
|
|
@ -5,26 +5,45 @@
|
|||
{{ define "main-class" }}--section location-map{{ end }}
|
||||
|
||||
{{ define "header-scripts" }}
|
||||
<link rel="stylesheet" href="/css/leaflet.css"/>
|
||||
<!-- Leaflet -->
|
||||
<link rel="stylesheet" href="/css/leaflet/leaflet.css" />
|
||||
<link rel="stylesheet" href="/js/leaflet-fullscreen/leaflet.fullscreen.css" />
|
||||
{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
<script src="/js/leaflet.js"></script>
|
||||
<script src="/js/leaflet-heat.js"></script>
|
||||
<!-- Leaflet -->
|
||||
<script src="/js/leaflet/leaflet.js"></script>
|
||||
|
||||
<!-- Leaflet Heat -->
|
||||
<script src="/js/leaflet-heat/leaflet-heat.js"></script>
|
||||
|
||||
<!-- Leaflet Fullscreen -->
|
||||
<script src="/js/leaflet-fullscreen/leaflet.fullscreen.min.js"></script>
|
||||
|
||||
<script>
|
||||
var map = L.map('map').setView([55, -3], 3);
|
||||
var map = L.map('map', {
|
||||
fullscreenControl: true
|
||||
}).setView([55, -3], 3);
|
||||
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
maxZoom: 19,
|
||||
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||
}).addTo(map);
|
||||
|
||||
{{- range $.Site.Data.locations -}}
|
||||
/* L.marker([{{ .lat }}, {{ .lon }}]).addTo(map); */
|
||||
{{- end -}}
|
||||
|
||||
{{- $locations := partialCached "util/get_location_leaf_nodes.html.tmpl" $.Site.Data.locations -}}
|
||||
|
||||
{{/*
|
||||
{{- range .Site.AllPages -}}
|
||||
{{- with .Params.locations -}}
|
||||
{{- range . -}}
|
||||
{{- with ( index $locations ( replaceRE `, [A-Z]+` "" . ) ) -}}
|
||||
L.marker([{{ .lat }}, {{ .lon }}]).addTo(map);
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
*/}}
|
||||
|
||||
L.heatLayer(
|
||||
[
|
||||
{{- range .Site.AllPages -}}
|
||||
|
@ -39,7 +58,7 @@
|
|||
],
|
||||
{
|
||||
minOpacity: 0.5,
|
||||
gradient: {0.2: 'blue', 0.5: 'lime', 1: 'red'}
|
||||
gradient: {0.1: 'blue', 0.3: 'lime', 0.8: 'orange', 1: 'red'}
|
||||
}
|
||||
).addTo(map);
|
||||
</script>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!--
|
||||
{{- /*
|
||||
Renders a work citation with semantic markup, called using the `cite` shortcode.
|
||||
|
||||
@params cite URI for work. Optional.
|
||||
|
@ -9,7 +9,7 @@
|
|||
@params title Title of the work to display.
|
||||
@params titleLang Language code of a foreign-language work's title. Optional.
|
||||
@params titleTr English translation of a foreign-language work's title. Optional.
|
||||
-->
|
||||
*/ -}}
|
||||
|
||||
<!-- Optional parameter overrides (for nested citations) -->
|
||||
|
||||
|
@ -19,9 +19,12 @@
|
|||
{{- $titleTr := default .Params.titleTr ( .Scratch.Get "titleTr" ) -}}
|
||||
{{- $schemaType := default .Params.schemaType ( .Scratch.Get "schemaType" ) -}}
|
||||
|
||||
<!-- Validation -->
|
||||
{{- if ( strings.Contains $cite "#" ) -}}
|
||||
{{- erroridf "cite-with-fragment" "Cite parameter includes fragment identifier, which probably isn't what you want." -}}
|
||||
{{- $cite = delimit ( split $cite "#" ) "" -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- TODO: check `.Params.cite` is URI -->
|
||||
<!-- Validation -->
|
||||
|
||||
{{- if ( and ( isset .Params "citeStyle" ) ( not ( in ( slice "inherit" "enquote" "normal" ) .Params.citeStyle ) ) ) -}}
|
||||
{{- erroridf "invalid-citeStyle" "Invalid `citeStyle` value %q for %q" .Params.citeStyle $title -}}
|
||||
|
@ -33,6 +36,8 @@
|
|||
{{- erroridf "invalid-schemaType" "Invalid Schema.org type value %q for %q" $schemaType $title -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- TODO: check `.Params.cite` is URI -->
|
||||
|
||||
{{- if ( or $titleLang $titleTr ) -}}
|
||||
{{- if ( not ( and $titleLang $titleTr ) ) -}}
|
||||
{{- erroridf "invalid-foreign-title" "Must have both title translation and language set for foreign language title %q" $title -}}
|
||||
|
@ -60,7 +65,16 @@
|
|||
{{- end -}}
|
||||
<span itemprop="name">
|
||||
{{- if $titleLang -}}
|
||||
<i lang="{{ $titleLang }}" title="{{ $titleTr }}">
|
||||
<i
|
||||
lang="{{ $titleLang }}"
|
||||
title="
|
||||
{{- if $.Params.shortTitle -}}
|
||||
{{- printf "%s [%s]" $title $titleTr | plainify -}}
|
||||
{{- else -}}
|
||||
{{- $titleTr | plainify -}}
|
||||
{{- end -}}
|
||||
"
|
||||
>
|
||||
{{- end -}}
|
||||
|
||||
{{- ( default $title .Params.shortTitle ) | markdownify | safeHTML -}}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<!--
|
||||
Gets the top-level parent org of an organisation.
|
||||
|
||||
@params organisation The organisation to search for.
|
||||
-->
|
||||
|
||||
{{- $organisation_page := default . ( index .Ancestors.Reverse 3 ) -}}
|
||||
{{- $organisation_title := default $organisation_page.Title $organisation_page.Params.markup_title -}}
|
||||
|
||||
{{- return $organisation_title -}}
|
||||
|
|
@ -1,16 +1,14 @@
|
|||
<aside class="timeline__legend">
|
||||
<div>
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<button id="past-unpaid" class="legend__button"><p><span class="colour-square colour-square--unpaid-past"></span> Unpaid</p></button>
|
||||
<button id="past-paid" class="legend__button"><p><span class="colour-square colour-square--paid-past"></span> Paid</p></button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<button id="current-unpaid" class="legend__button"><p><span class="colour-square colour-square--unpaid-current"></span> Unpaid</p></button>
|
||||
<button id="current-paid" class="legend__button"><p><span class="colour-square colour-square--paid-current"></span> Paid</p></button>
|
||||
</div>
|
||||
</div>
|
||||
<fieldset id="legend__past">
|
||||
<legend class="label">Past</legend>
|
||||
|
||||
<button id="past-unpaid" class="button legend__button"><p><span class="colour-square colour-square--unpaid-past"></span> Unpaid</p></button>
|
||||
<button id="past-paid" class="button legend__button"><p><span class="colour-square colour-square--paid-past"></span> Paid</p></button>
|
||||
</fieldset>
|
||||
<fieldset id="legend__current">
|
||||
<legend class="label">Current</legend>
|
||||
|
||||
<button id="current-unpaid" class="button legend__button"><p><span class="colour-square colour-square--unpaid-current"></span> Unpaid</p></button>
|
||||
<button id="current-paid" class="button legend__button"><p><span class="colour-square colour-square--paid-current"></span> Paid</p></button>
|
||||
</fieldset>
|
||||
</aside>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{ block "header" . }}
|
||||
<h2 class="p-name site-header__title" itemprop="name"><a class="u-url" href="{{ .Site.Home.RelPermalink }}" rel="me author">{{ .Site.Title }}</a></h2>
|
||||
<p class="p-note site-header__tagline" itemprop="about">Views my own. Discussion ≠ endorsement. Do try this at home.</p>
|
||||
<p class="site-header__icons">~ <a class="u-email" href="mailto:{{ $.Site.Author.email }}" rel="me">📧</a> ~ <a class="u-url" href="{{ .Site.Params.codeURL }}" rel="me">💻</a> ~ <a class="u-key" href="/{{ .Site.Params.keyfile }}" rel="me">🔐</a> ~ <a href="/index.xml" aria-label="{{ .Site.Title }} RSS feed"><img class="feed-icon" alt="RSS feed" src="{{ .Site.Params.feedIcon }}"></a> ~</p>
|
||||
<p class="site-header__icons">~ <a class="u-email" href="mailto:{{ $.Site.Author.email }}" rel="me">✉️</a> ~ <a class="u-url" href="{{ .Site.Params.codeURL }}" rel="me">🧑💻</a> ~ <a class="u-key" href="/{{ .Site.Params.keyfile }}" rel="me">🔐</a> ~ <a href="/index.xml" aria-label="{{ .Site.Title }} RSS feed"><img class="feed-icon" alt="RSS feed" src="{{ .Site.Params.feedIcon }}"></a> ~</p>
|
||||
<nav class="site-header__nav">
|
||||
<ul>
|
||||
{{ range ( where .Site.Sections.ByTitle "Type" "in" site.Params.mainSections ) }}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<section class="site-content__body">
|
||||
{{ range ( ( where .Pages "Draft" false ).GroupByPublishDate "2006" ) }}
|
||||
{{ range ( ( where ( where .Pages "Draft" false ) "Params.redact" "ne" true ).GroupByPublishDate "2006" ) }}
|
||||
{{ if ( not ( eq .Key "0001" ) ) }}
|
||||
{{ partialCached "header-tile.html" . .Key }}
|
||||
{{ range .Pages }}
|
||||
{{ if ( not ( .IsDescendant ( .GetPage "/cv/roles" ) ) ) }}
|
||||
{{ partialCached "item-tile.html" . .Title }}
|
||||
{{ partialCached "item-tile.html" . .Path }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
9
layouts/partials/math.html
Normal file
9
layouts/partials/math.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
<script id="MathJax-script" async src="/js/mathjax/tex-chtml.js"></script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: {
|
||||
displayMath: [['\\[', '\\]'], ['$$', '$$']], // block
|
||||
inlineMath: [['\\(', '\\)']] // inline
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -5,7 +5,7 @@
|
|||
@params page_file_path Filepath of the calling file for error messages.
|
||||
-->
|
||||
|
||||
{{- $src := . -}}
|
||||
{{- $src := .src -}}
|
||||
|
||||
<video
|
||||
class="u-video figure__video"
|
||||
|
@ -24,4 +24,4 @@
|
|||
"
|
||||
>
|
||||
Your browser doesn't support embedded video, <a href="{{ $src.RelPermalink }}">view the video here</a>.
|
||||
</video>
|
||||
</video>
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
var imageObserver = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
console.log("Ding");
|
||||
var image = entry.target;
|
||||
image.classList.remove("lazy");
|
||||
imageObserver.unobserve(image);
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{{- with .shortTitlePl -}}{{- . | safeHTML -}}{{- else -}}{{- .shortTitle | safeHTML -}}s{{- end -}}
|
||||
{{- end -}}
|
||||
</abbr>{{- /**/ -}}
|
||||
|
||||
|
||||
<!-- Long titles (e.g. 'foo bar baz') -->
|
||||
{{- else if ( or ( eq $mode "longTitle" ) ( eq $mode "longTitlePl" ) ) -}}
|
||||
{{- if ( eq $mode "longTitle" ) -}}
|
||||
|
@ -36,7 +36,7 @@
|
|||
{{- with .longTitlePl -}}{{- . | safeHTML -}}{{- else -}}{{- .longTitle | safeHTML -}}s{{- end -}}
|
||||
{{- if .lang -}}</i>{{- end -}}{{- /**/ -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
<!-- Full titles (e.g. 'foo bar baz (FBB)') -->
|
||||
{{- else if ( or ( eq $mode "fullTitle" ) ( eq $mode "fullTitlePl" ) ) -}}
|
||||
{{- if ( eq $mode "fullTitle" ) -}}
|
||||
|
|
|
@ -1,32 +1,78 @@
|
|||
{{- if ( not .Params ) -}}
|
||||
{{- errorf "No params provided for blockquote" -}}
|
||||
{{- /*
|
||||
Renders a block quotation.
|
||||
|
||||
@params style Force a blockquote style. Optional.
|
||||
@params cite URI for work. Optional.
|
||||
@params source The speaker(s) of the quotation.
|
||||
|
||||
For works cited (optional):
|
||||
@params ibid Whether to use ibidem as the source. Optional.
|
||||
@see partials/cite.html.tmpl for full list of args.
|
||||
|
||||
For works cited that form part of a series (optional):
|
||||
@params schemaTypeSeries The Schema.org `itemtype` value for the work series. Default 'CreativeWork'. Optional.
|
||||
@params titleSeries Title of the work series to display. Optional.
|
||||
@params citeSeries URI for work series. Optional.
|
||||
@params titleSeriesLang Language code of a foreign-language work series' title. Optional.
|
||||
@params titleSeriesTr English translation of a foreign-language work series' title. Optional.
|
||||
@params numberSeries The number or code of the quoted work within its series. Optional.
|
||||
*/ -}}
|
||||
|
||||
{{- $valid_styles := slice "" "epigram" "script" -}}
|
||||
|
||||
<!-- Variable assignment -->
|
||||
|
||||
{{- $style := default "" ( index .Params "style" ) -}}
|
||||
{{- $cite := default "" ( index .Params "cite" ) -}}
|
||||
{{- $ibid := default false ( index .Params "ibid" ) -}}
|
||||
{{- $source := .Params.source -}}
|
||||
|
||||
{{- $isSourceHidden := default ( not ( or ( isset .Params "source" ) ( isset .Params "ibid" ) ) ) ( index .Params "hideSource" ) -}}
|
||||
|
||||
{{- $hasCitedWork := ( isset .Params "title" ) }}
|
||||
{{- $hasCitedSeries := ( isset .Params "titleSeries" ) -}}
|
||||
|
||||
<!-- Validation -->
|
||||
|
||||
{{- if ( not ( in $valid_styles $style ) ) -}}
|
||||
{{- errorf "Invalid blockquote style (%q) provided" $style -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if ( not ( or ( isset .Params "source" ) ( isset .Params "ibid" ) ) ) -}}
|
||||
{{- erroridf "blockquote-no-params" "No source provided for blockquote" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if ( not ( isset $.Params "cite" ) ) -}}
|
||||
{{- erroridf "missing-cite" "No cite found for blockquote (%q)" .Page.File.Path -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Rendering -->
|
||||
|
||||
<figure
|
||||
class="figure--blockquote blockquote{{- if .Params.style }} blockquote--{{- .Params.style -}}{{- end -}}"
|
||||
class="figure--blockquote blockquote{{- with $style }} blockquote--{{- . -}}{{- end -}}"
|
||||
itemscope
|
||||
itemtype="Quotation"
|
||||
role="group">
|
||||
<blockquote
|
||||
<blockquote
|
||||
class="blockquote__body"
|
||||
{{- if .Params.cite }} cite="{{ .Params.cite }}"{{- end -}}>
|
||||
{{- with $cite }} cite="{{ . }}"{{- end -}}>
|
||||
{{- .Inner | .Page.RenderString -}}
|
||||
</blockquote>
|
||||
<figcaption class="blockquote__caption">
|
||||
{{- if .Params.ibid -}}
|
||||
<figcaption class="blockquote__caption{{- if $isSourceHidden }} blockquote__caption--hidden{{- end -}}">
|
||||
{{- if $ibid -}}
|
||||
<abbr lang="la" title="ibīdem [in the same place]">Ibid.</abbr>
|
||||
{{- else -}}
|
||||
<span itemprop="spokenByCharacter">{{- .Params.source | safeHTML -}}</span>
|
||||
{{- if .Params.title -}}, <span itemprop="isBasedOn">{{- partial "cite.html.tmpl" . -}}
|
||||
{{- if ( isset .Params "titleSeries" ) }} (
|
||||
{{- .Scratch.Set "cite" .Params.citeSeries -}}
|
||||
{{- .Scratch.Set "title" .Params.titleSeries -}}
|
||||
{{- .Scratch.Set "titleLang" .Params.titleSeriesLang -}}
|
||||
{{- .Scratch.Set "titleTr" .Params.titleSeriesTr -}}
|
||||
{{- .Scratch.Set "schemaType" .Params.schemaTypeSeries -}}
|
||||
{{- partial "cite.html.tmpl" . -}}
|
||||
{{- with .Params.numberSeries }}, {{ . | safeHTML -}}{{- end -}}
|
||||
){{- end -}}</span>
|
||||
{{- else if $source -}}
|
||||
<span temprop="spokenByCharacter">{{- $source | safeHTML -}}</span>
|
||||
{{- if $hasCitedWork -}}, <span itemprop="isBasedOn">{{- partial "cite.html.tmpl" . -}}
|
||||
{{- if $hasCitedSeries }} (
|
||||
{{- .Scratch.Set "cite" .Params.citeSeries -}}
|
||||
{{- .Scratch.Set "title" .Params.titleSeries -}}
|
||||
{{- .Scratch.Set "titleLang" .Params.titleSeriesLang -}}
|
||||
{{- .Scratch.Set "titleTr" .Params.titleSeriesTr -}}
|
||||
{{- .Scratch.Set "schemaType" .Params.schemaTypeSeries -}}
|
||||
{{- partial "cite.html.tmpl" . -}}
|
||||
{{- with .Params.numberSeries }}, {{ . | safeHTML -}}{{- end -}}
|
||||
){{- end -}}</span>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</figcaption>
|
||||
|
|
33
layouts/shortcodes/button.html
Normal file
33
layouts/shortcodes/button.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
{{- /*
|
||||
Renders a button, or no-JS fallback.
|
||||
|
||||
@params id ID for button.
|
||||
@params label Label text for button.
|
||||
@params text Text for button.
|
||||
*/ -}}
|
||||
|
||||
<!-- Validation -->
|
||||
|
||||
{{- if ( not ( isset .Params "id" ) ) -}}
|
||||
{{- errorf "No ID set for button (%q)" .Page.File.Path -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if ( not ( isset .Params "label" ) ) -}}
|
||||
{{- errorf "No label set for button '%q' (%q)" .Params.id .Page.File.Path -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if ( not ( isset .Params "text" ) ) -}}
|
||||
{{- errorf "No text set for button '%q' (%q)" .Params.id .Page.File.Path -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Rendering -->
|
||||
|
||||
<noscript>You must have JavaScript enabled to interact with this button.</noscript>
|
||||
|
||||
|
||||
<label class="label label--button">
|
||||
{{- .Params.label -}}:
|
||||
<button id="{{- .Params.id -}}" class="button">
|
||||
{{- .Params.text -}}
|
||||
</button>
|
||||
</label>
|
|
@ -4,14 +4,18 @@
|
|||
|
||||
<figure class="article__figure figure figure--chart{{ with .Get "class" }} {{ . }}{{ end }}" role="group">
|
||||
{{- with .Get "chart-id" -}}
|
||||
<canvas class="chart" id="{{ . }}">
|
||||
You must enable Javascript to view this chart.
|
||||
</canvas>
|
||||
<div class="chart-container">
|
||||
<canvas class="chart" id="{{ . }}">
|
||||
You must enable Javascript to view this chart.
|
||||
</canvas>
|
||||
</div>
|
||||
{{- end -}}
|
||||
{{- with .Get "chart-id-2" -}}
|
||||
<canvas class="chart" id="{{ . }}">
|
||||
You must enable Javascript to view this chart.
|
||||
</canvas>
|
||||
<div class="chart-container">
|
||||
<canvas class="chart" id="{{ . }}">
|
||||
You must enable Javascript to view this chart.
|
||||
</canvas>
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
||||
{{- if or ( .Get "caption" ) ( .Get "title" ) -}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!--
|
||||
{{- /*
|
||||
Renders a work citation with semantic markup.
|
||||
|
||||
@params cite URI for work. Optional.
|
||||
|
@ -9,7 +9,7 @@
|
|||
@params title Title of the work to display.
|
||||
@params titleLang Language code of a foreign-language work's title. Optional.
|
||||
@params titleTr English translation of a foreign-language work's title. Optional.
|
||||
-->
|
||||
*/ -}}
|
||||
|
||||
<!-- Validation -->
|
||||
|
||||
|
@ -23,6 +23,6 @@
|
|||
|
||||
<!-- Rendering -->
|
||||
|
||||
{{- $citationId := cond ( .Params.cite | not | not ) .Params.cite .Params.title -}}
|
||||
{{- $citationId := printf "%s%s" ( cond ( isset .Params "cite" ) .Params.cite .Params.title ) ( default "" .Params.shortTitle ) -}}
|
||||
|
||||
{{- /**/ -}}{{- partialCached "cite.html.tmpl" . $citationId -}}{{- /**/ -}}
|
||||
{{- partialCached "cite.html.tmpl" . $citationId -}}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<h3 class="comment__author" itemprop="author">{{ .Params.author }}</h3>
|
||||
{{- $publishDate := time .Params.publishDate -}}
|
||||
<p class="comment__publish-date">
|
||||
<time class="dt-published" datetime="{{ $publishDate.Format "2006-01-02T15:04:05-07:00" }}" itemprop="datePublished">{{ $publishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) $publishDate.Day }}st{{ else if in (slice 2 22) $publishDate.Day}}nd{{ else if in (slice 3 23) $publishDate.Day }}rd{{ else }}th{{ end }}</sup>, 1{{ $publishDate.Format "2006" | lang.NumFmt 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time>
|
||||
<time class="dt-published" datetime="{{ $publishDate.Format "2006-01-02T15:04:05-07:00" }}" itemprop="datePublished">{{ $publishDate.Format "January 2" }}<sup>{{ if in (slice 1 21 31) $publishDate.Day }}st{{ else if in (slice 2 22) $publishDate.Day}}nd{{ else if in (slice 3 23) $publishDate.Day }}rd{{ else }}th{{ end }}</sup>, 1{{ $publishDate.Format "2006" | lang.FormatNumberCustom 0 }} <abbr style="font-variant: small-caps; font-size: 0.8em;" title="Holocene Era">HE</abbr></time>
|
||||
</p>
|
||||
{{- with .Params.source -}}
|
||||
<p class="comment__source">Source: {{ . }}</p>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
{{- partial "media/audio.html.tmpl" $src -}}
|
||||
|
||||
{{- else -}}
|
||||
{{- partial "media/video.html.tmpl" ( dict "." $src "page_file_path" .Page.File.Path ) -}}
|
||||
{{- partial "media/video.html.tmpl" ( dict "src" $src "page_file_path" .Page.File.Path ) -}}
|
||||
|
||||
{{- end -}}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
{{- end -}}
|
||||
|
||||
<!-- Rendering -->
|
||||
|
||||
<div>
|
||||
{{- if .Get "link" -}}
|
||||
{{- if $linkedResource -}}
|
||||
<a href="{{- $linkedResource.RelPermalink -}}"{{- with .Get "rel" }} rel="{{- . -}}"{{- end -}}>
|
||||
|
@ -42,4 +42,9 @@
|
|||
|
||||
{{- if .Get "link" -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- with ( .Get "caption" ) -}}
|
||||
<div class="figure__caption"><p class="figcaption__caption">{{ . | safeHTML }}</p></div>
|
||||
{{- end -}}
|
||||
</div>
|
||||
|
|
|
@ -40,8 +40,8 @@
|
|||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "media/video.html.tmpl" ( dict "." $src "page_file_path" .Page.File.Path ) -}}
|
||||
{{- partial "media/video.html.tmpl" ( dict "src" $src "page_file_path" .Page.File.Path ) -}}
|
||||
|
||||
{{- if .Get "link" -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue