Compare commits
No commits in common. "920db1a5ce7ab130d53e3eaba941e9b71e9ccf6b" and "5b283d755b312eb558781218bacf0b26750ac03d" have entirely different histories.
920db1a5ce
...
5b283d755b
62 changed files with 5923 additions and 1664 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -13,7 +13,3 @@ hugo.linux
|
|||
# Temporary lock file while building
|
||||
/.hugo_build.lock
|
||||
|
||||
# TEMP - until I figure out licensing
|
||||
/js/
|
||||
/css/openlayers.css
|
||||
/css/leaflet.css
|
||||
|
|
6
archetypes/default.md
Normal file
6
archetypes/default.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
20
archetypes/post-bundle/index.md
Normal file
20
archetypes/post-bundle/index.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
subtitle:
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
url:
|
||||
|
||||
featured_image:
|
||||
resources:
|
||||
- name:
|
||||
alt:
|
||||
src:
|
||||
params:
|
||||
attr: Warner Bros. Pictures
|
||||
|
||||
categories:
|
||||
areas:
|
||||
tags:
|
||||
---
|
||||
|
12
archetypes/posts.md
Normal file
12
archetypes/posts.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
url:
|
||||
featured_image:
|
||||
subtitle:
|
||||
categories:
|
||||
areas:
|
||||
tags:
|
||||
---
|
||||
|
|
@ -1,363 +0,0 @@
|
|||
/* Document
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Add border box sizing in all browsers (opinionated).
|
||||
* 2. Backgrounds do not repeat by default (opinionated).
|
||||
*/
|
||||
|
||||
*,
|
||||
::before,
|
||||
::after {
|
||||
box-sizing: border-box; /* 1 */
|
||||
background-repeat: no-repeat; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add text decoration inheritance in all browsers (opinionated).
|
||||
* 2. Add vertical alignment inheritance in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
::before,
|
||||
::after {
|
||||
text-decoration: inherit; /* 1 */
|
||||
vertical-align: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Use the default cursor in all browsers (opinionated).
|
||||
* 2. Change the line height in all browsers (opinionated).
|
||||
* 3. Breaks words to prevent overflow in all browsers (opinionated).
|
||||
* 4. Use a 4-space tab width in all browsers (opinionated).
|
||||
* 5. Remove the grey highlight on links in iOS (opinionated).
|
||||
* 6. Prevent adjustments of font size after orientation changes in iOS.
|
||||
*/
|
||||
|
||||
:where(:root) {
|
||||
cursor: default; /* 1 */
|
||||
line-height: 1.5; /* 2 */
|
||||
overflow-wrap: break-word; /* 3 */
|
||||
-moz-tab-size: 4; /* 4 */
|
||||
tab-size: 4; /* 4 */
|
||||
-webkit-tap-highlight-color: transparent; /* 5 */
|
||||
-webkit-text-size-adjust: 100%; /* 6 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(body) {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Edge, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
:where(h1) {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on nested lists in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
:where(dl, ol, ul) :where(dl, ol, ul) {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance of border color in Firefox.
|
||||
* 2. Add the correct box sizing in Firefox.
|
||||
*/
|
||||
|
||||
:where(hr) {
|
||||
color: inherit; /* 1 */
|
||||
height: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the list style on navigation lists in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(nav) :where(ol, ul) {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
|
||||
*/
|
||||
|
||||
:where(nav li)::before {
|
||||
content: "\200B";
|
||||
float: left;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
* 3. Prevent overflow of the container in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(pre) {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
overflow: auto; /* 3 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct text decoration in Safari.
|
||||
*/
|
||||
|
||||
:where(abbr[title]) {
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
:where(b, strong) {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
:where(code, kbd, samp) {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
:where(small) {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
* ========================================================================== */
|
||||
|
||||
/*
|
||||
* Change the alignment on media elements in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(audio, canvas, iframe, img, svg, video) {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the border on iframes in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(iframe) {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the fill color to match the text color in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(svg:not([fill])) {
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
/* Tabular data
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Collapse border spacing in all browsers (opinionated).
|
||||
* 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
|
||||
* 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
:where(table) {
|
||||
border-collapse: collapse; /* 1 */
|
||||
border-color: inherit; /* 2 */
|
||||
text-indent: 0; /* 3 */
|
||||
}
|
||||
|
||||
/* Forms
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin on controls in Safari.
|
||||
*/
|
||||
|
||||
:where(button, input, select) {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style buttons in iOS and Safari.
|
||||
*/
|
||||
|
||||
:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the inconsistent appearance in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(fieldset) {
|
||||
border: 1px solid #a0a0a0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct vertical alignment in Chrome, Edge, and Firefox.
|
||||
*/
|
||||
|
||||
:where(progress) {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the margin in Firefox and Safari.
|
||||
* 3. Change the resize direction in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where(textarea) {
|
||||
margin: 0; /* 1 */
|
||||
resize: vertical; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
:where([type="search" i]) {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-inner-spin-button,
|
||||
::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the text style of placeholders in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
color: inherit;
|
||||
opacity: 0.54;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome, Edge, and Safari on macOS.
|
||||
*/
|
||||
|
||||
::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style upload buttons in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
* ========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct styles in Safari.
|
||||
*/
|
||||
|
||||
:where(dialog) {
|
||||
background-color: white;
|
||||
border: solid;
|
||||
color: black;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
padding: 1em;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
:where(dialog:not([open])) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in Safari.
|
||||
*/
|
||||
|
||||
:where(details > summary:first-of-type) {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Accessibility
|
||||
* ========================================================================== */
|
||||
|
||||
/**
|
||||
* Change the cursor on busy elements in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where([aria-busy="true" i]) {
|
||||
cursor: progress;
|
||||
}
|
||||
|
||||
/*
|
||||
* Change the cursor on control elements in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where([aria-controls]) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
* Change the cursor on disabled, not-editable, or otherwise
|
||||
* inoperable elements in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where([aria-disabled="true" i], [disabled]) {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/*
|
||||
* Change the display on visually hidden accessible elements
|
||||
* in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
:where([aria-hidden="false" i][hidden]) {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
:where([aria-hidden="false" i][hidden]:not(:focus)) {
|
||||
clip: rect(0, 0, 0, 0);
|
||||
position: absolute;
|
||||
}
|
|
@ -0,0 +1,840 @@
|
|||
@charset "UTF-8";
|
||||
@font-face {
|
||||
font-family: "Input Mono";
|
||||
src: url(/fonts/InputMono-Regular.ttf); }
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
color: #020202;
|
||||
background-color: #fffff0;
|
||||
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; }
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
margin: 0; }
|
||||
|
||||
a {
|
||||
text-decoration-skip-ink: auto;
|
||||
color: #020202;
|
||||
text-decoration: underline;
|
||||
opacity: 0.8; }
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
opacity: 1; }
|
||||
|
||||
.sic::after {
|
||||
content: " [sic]";
|
||||
font-style: italic; }
|
||||
|
||||
.latex {
|
||||
display: inline !important; }
|
||||
|
||||
pre {
|
||||
padding-left: 1em;
|
||||
border-left: 2px outset #020202;
|
||||
display: inline-block;
|
||||
max-width: 85%; }
|
||||
|
||||
pre {
|
||||
overflow: hidden; }
|
||||
|
||||
@media only screen and (min-width: 1024px) {
|
||||
pre {
|
||||
margin: 1em 2em; } }
|
||||
|
||||
q.guillemets {
|
||||
quotes: "«" "»" "«" "»"; }
|
||||
|
||||
q,
|
||||
blockquote {
|
||||
quotes: "‘" "’" "“" "”"; }
|
||||
|
||||
q::before {
|
||||
content: open-quote; }
|
||||
|
||||
q::after {
|
||||
content: close-quote; }
|
||||
|
||||
cite,
|
||||
cite.book,
|
||||
cite.film,
|
||||
cite.tv-show,
|
||||
cite.comic,
|
||||
cite.book,
|
||||
cite.podcast,
|
||||
cite.album,
|
||||
cite.report {
|
||||
font-style: italic; }
|
||||
|
||||
cite.book--bible {
|
||||
font-style: inherit; }
|
||||
|
||||
cite.legislation,
|
||||
cite.smallcite,
|
||||
cite.comic-strip,
|
||||
cite.short-story,
|
||||
cite.article,
|
||||
cite.episode,
|
||||
cite.video,
|
||||
cite.chapter,
|
||||
cite.software,
|
||||
cite.campaign,
|
||||
cite.song,
|
||||
cite.speech,
|
||||
cite.course,
|
||||
cite.presentation {
|
||||
font-style: normal; }
|
||||
|
||||
cite.smallcite::before,
|
||||
cite.article::before,
|
||||
cite.comic-strip::before,
|
||||
cite.short-story::before,
|
||||
cite.episode::before,
|
||||
cite.video::before,
|
||||
cite.chapter::before,
|
||||
cite.song::before,
|
||||
cite.poem::before,
|
||||
cite.campaign::before,
|
||||
cite.speech::before,
|
||||
cite.course::before,
|
||||
cite.presentation::before {
|
||||
content: "“"; }
|
||||
|
||||
cite.smallcite::after,
|
||||
cite.article::after,
|
||||
cite.comic-strip::after,
|
||||
cite.short-story::after,
|
||||
cite.episode::after,
|
||||
cite.video::after,
|
||||
cite.chapter::after,
|
||||
cite.song::after,
|
||||
cite.poem::after,
|
||||
cite.campaign::after,
|
||||
cite.speech::after,
|
||||
cite.course::after,
|
||||
cite.presentation::after {
|
||||
content: "”"; }
|
||||
|
||||
cite.article--shortcite::before,
|
||||
cite.article--shortcite::after {
|
||||
content: none; }
|
||||
|
||||
code,
|
||||
samp,
|
||||
var,
|
||||
pre {
|
||||
font-family: "Input Mono", "Lucida Console", Monaco, monospace;
|
||||
font-size: 1em; }
|
||||
|
||||
pre .nocode {
|
||||
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-size: 1em;
|
||||
padding: 1px 3px;
|
||||
border-radius: 6px;
|
||||
border: dashed 1px black; }
|
||||
|
||||
code,
|
||||
samp,
|
||||
var {
|
||||
background-color: #d1d1d1;
|
||||
border-radius: 5px;
|
||||
padding: 2px; }
|
||||
|
||||
pre {
|
||||
max-width: 50vw;
|
||||
overflow: scroll; }
|
||||
|
||||
h1 code,
|
||||
.post-title code,
|
||||
pre code,
|
||||
h1 samp,
|
||||
.post-title samp,
|
||||
pre samp,
|
||||
h1 var,
|
||||
.post-title var,
|
||||
pre var {
|
||||
background-color: transparent;
|
||||
padding: 0; }
|
||||
|
||||
.heading code,
|
||||
.subheading code {
|
||||
background-color: transparent; }
|
||||
|
||||
pre.prettyprint ol {
|
||||
padding-left: 3.5em; }
|
||||
|
||||
pre.prettyprint li {
|
||||
background: none !important; }
|
||||
|
||||
samp {
|
||||
display: block;
|
||||
width: 80ch;
|
||||
margin: 1em 4em;
|
||||
border-left: 2px solid #ccc;
|
||||
color: #333; }
|
||||
|
||||
kbd {
|
||||
padding: 0.1em 0.6em;
|
||||
border: 1px solid #ccc;
|
||||
font-size: 11px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
background-color: #f7f7f7;
|
||||
color: #333;
|
||||
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
margin: 0 0.1em;
|
||||
text-shadow: 0 1px 0 white;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap; }
|
||||
|
||||
.pre-nominals,
|
||||
.post-nominals {
|
||||
font-size: 0.6em;
|
||||
font-variant: small-caps; }
|
||||
|
||||
.site-container {
|
||||
display: grid;
|
||||
grid-template-columns: 2.5% 1fr 2.5%;
|
||||
grid-template-rows: auto 1fr 2.5%;
|
||||
grid-template-areas: "header header header" "page-container page-container page-container" "footer footer footer";
|
||||
min-height: calc(100vh - 4em);
|
||||
border-top: 0; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-container {
|
||||
margin-bottom: 2em;
|
||||
grid-template-areas: "header header header" ". page-container ." "footer footer footer";
|
||||
border: 2px solid black;
|
||||
margin-left: 2em;
|
||||
margin-right: 2em; } }
|
||||
.site-container--homepage {
|
||||
align-items: center;
|
||||
grid-template-rows: auto 2.5%;
|
||||
grid-template-areas: "page-container page-container page-container" "footer footer footer";
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-container--homepage {
|
||||
border: 2px solid black;
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
grid-template-areas: ". page-container ." "footer footer footer"; } }
|
||||
.site-container--list, .site-container--section {
|
||||
align-items: center; }
|
||||
|
||||
.site-header {
|
||||
display: grid;
|
||||
grid-area: header;
|
||||
grid-gap: 0;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
grid-template-areas: "header-title" "header-tagline" "header-icons" "header-nav";
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
z-index: 1; }
|
||||
.site-header__title, .site-header__tagline, .site-header__icons, .site-header__nav {
|
||||
background-color: #fffff0;
|
||||
margin: 0; }
|
||||
.site-header__title, .site-header__tagline, .site-header__icons {
|
||||
padding: 5px 0; }
|
||||
.site-header__title {
|
||||
font-weight: normal;
|
||||
grid-area: header-title; }
|
||||
.site-header__tagline {
|
||||
grid-area: header-tagline; }
|
||||
.site-header__icons {
|
||||
grid-area: header-icons;
|
||||
border-bottom: 2px solid #020202;
|
||||
margin-bottom: 0; }
|
||||
.site-header__nav {
|
||||
grid-area: header-nav;
|
||||
margin: auto;
|
||||
width: 100%; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-header__nav {
|
||||
width: 60%; } }
|
||||
.site-header__nav ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0; }
|
||||
.site-header__nav li {
|
||||
width: calc(100% / 3);
|
||||
display: block;
|
||||
float: left;
|
||||
border-bottom: 2px solid black;
|
||||
border-left: 1px solid black;
|
||||
border-right: 1px solid black;
|
||||
padding: 0.4em;
|
||||
background-color: inherit; }
|
||||
.site-header__nav a:first-child li {
|
||||
border-left: 2px solid black; }
|
||||
.site-header__nav a:last-child li {
|
||||
border-right: 2px solid black; }
|
||||
.site-header__nav li:hover {
|
||||
background-color: #ffffd0; }
|
||||
.site-header__nav li a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block; }
|
||||
|
||||
.site-footer {
|
||||
grid-area: footer;
|
||||
display: block;
|
||||
width: 99%;
|
||||
/* Overflows right of viewport otherwise */
|
||||
position: fixed;
|
||||
bottom: 0; }
|
||||
.site-footer p {
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
background: #fffff0;
|
||||
border: 2px solid black;
|
||||
padding: 0.4em;
|
||||
border-bottom: none;
|
||||
font-size: 0.6em; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-footer p {
|
||||
font-size: 1em; } }
|
||||
.site-content {
|
||||
grid-area: page-container;
|
||||
margin-left: 1em;
|
||||
margin-right: 1em; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content {
|
||||
margin: 2em; } }
|
||||
.feed-icon {
|
||||
display: inline-block;
|
||||
height: 0.6em;
|
||||
width: 0.6em;
|
||||
margin-bottom: 0.2em; }
|
||||
|
||||
.link--tile {
|
||||
text-decoration: none;
|
||||
box-sizing: border-box;
|
||||
border: 2px solid transparent; }
|
||||
.link--tile:hover {
|
||||
border-color: #020202; }
|
||||
|
||||
.item-tile {
|
||||
display: grid;
|
||||
min-height: 180px;
|
||||
grid-template-columns: 5% auto 5%;
|
||||
grid-template-rows: 2.5% auto 2.5%;
|
||||
grid-template-areas: ". . ." ". tile-details ." ". . .";
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center; }
|
||||
.item-tile.lazy {
|
||||
background-image: none !important; }
|
||||
.item-tile--heading {
|
||||
font-size: 3em; }
|
||||
.item-tile--heading .item-tile__header {
|
||||
opacity: 1; }
|
||||
.item-tile--ohwhatohjeez {
|
||||
border: 2px solid #ff8900; }
|
||||
.item-tile--oldphaloskepsis {
|
||||
border: 2px solid #003d52; }
|
||||
.item-tile--omphaloskepsis {
|
||||
border: 2px solid #fffff0; }
|
||||
.item-tile__header {
|
||||
text-align: center;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
display: grid;
|
||||
grid-area: tile-details;
|
||||
grid-template-columns: 5px auto 5px;
|
||||
grid-template-rows: 0 auto auto auto;
|
||||
grid-template-areas: ". . ." ". banner ." ". tile-title ." ". tile-subtitle ."; }
|
||||
.item-tile__banner {
|
||||
padding: 0.5em 1em 0;
|
||||
grid-area: banner;
|
||||
width: auto;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-radius: 0 0 10px 10px;
|
||||
text-align: center;
|
||||
text-decoration: none !important;
|
||||
line-height: 0.5em;
|
||||
background-color: #ebebeb; }
|
||||
.item-tile__title, .item-tile__subtitle {
|
||||
color: #fffff0;
|
||||
margin: 0;
|
||||
font-weight: normal; }
|
||||
.item-tile__title {
|
||||
font-size: 1.4em;
|
||||
grid-area: tile-title;
|
||||
align-self: center; }
|
||||
.item-tile__title--long {
|
||||
font-size: 1em; }
|
||||
.item-tile__subtitle {
|
||||
font-size: 0.8em;
|
||||
grid-area: tile-subtitle;
|
||||
align-self: start; }
|
||||
|
||||
/* TODO: Not currently used */
|
||||
@media screen and (max-width: 480px) {
|
||||
.table-scroller {
|
||||
overflow-x: auto;
|
||||
width: 320px; } }
|
||||
|
||||
table {
|
||||
border: 1px solid #020202;
|
||||
margin: auto; }
|
||||
table td {
|
||||
padding: 0.5em 1em;
|
||||
border: 1px solid #020202; }
|
||||
|
||||
.site-content--homepage {
|
||||
text-align: center; }
|
||||
.site-content--homepage .page-title {
|
||||
font-size: 2.5em;
|
||||
margin-bottom: 1em; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--homepage .page-title {
|
||||
font-size: 4em; } }
|
||||
.site-content--homepage .page-title span {
|
||||
display: block !important;
|
||||
font-size: 0.3em; }
|
||||
|
||||
.site-content--section,
|
||||
.site-content--list {
|
||||
display: grid;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: 0.2fr 1fr 0.2fr;
|
||||
grid-template-rows: auto auto 60px;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "list-page-header list-page-header list-page-header" "list-page-grid list-page-grid list-page-grid" "list-page-footer list-page-footer list-page-footer";
|
||||
margin-top: 5em; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--section,
|
||||
.site-content--list {
|
||||
grid-template-areas: ". list-page-header ." "list-page-grid list-page-grid list-page-grid" ". list-page-footer ."; } }
|
||||
.site-content--section .site-content__header,
|
||||
.site-content--list .site-content__header {
|
||||
grid-area: list-page-header;
|
||||
text-align: center; }
|
||||
.site-content--section .site-content__header .page-header__minor-links,
|
||||
.site-content--list .site-content__header .page-header__minor-links {
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
overflow: auto; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul {
|
||||
list-style: none; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul li,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul li {
|
||||
float: left;
|
||||
margin: 0 1em; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul li *,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul li * {
|
||||
display: inline-block; }
|
||||
.site-content--section .site-content__header .page-header__minor-links .minor-links__categories,
|
||||
.site-content--list .site-content__header .page-header__minor-links .minor-links__categories {
|
||||
width: 100%;
|
||||
display: block;
|
||||
font-size: 0.8em !important;
|
||||
overflow: auto; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--section .site-content__header .page-header__minor-links .minor-links__categories,
|
||||
.site-content--list .site-content__header .page-header__minor-links .minor-links__categories {
|
||||
font-size: 1em !important; } }
|
||||
.site-content--section .site-content__header .page-header__minor-links .minor-links__years,
|
||||
.site-content--list .site-content__header .page-header__minor-links .minor-links__years {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: fit-content; }
|
||||
.site-content--section .site-content__body,
|
||||
.site-content--list .site-content__body {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
justify-items: stretch;
|
||||
align-items: stretch;
|
||||
grid-gap: 10px;
|
||||
grid-area: list-page-grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: repeat(8, 1fr);
|
||||
justify-items: stretch;
|
||||
align-items: stretch; }
|
||||
@media only screen and (min-width: 640px) {
|
||||
.site-content--section .site-content__body,
|
||||
.site-content--list .site-content__body {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: repeat(4, 1fr); } }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--section .site-content__body,
|
||||
.site-content--list .site-content__body {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-rows: repeat(2, 1fr); } }
|
||||
.site-content--section .site-content__body--list,
|
||||
.site-content--list .site-content__body--list {
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
grid-template-rows: auto;
|
||||
grid-template-areas: ". sections-list ."; }
|
||||
.site-content--section .site-content__body--chart,
|
||||
.site-content--list .site-content__body--chart {
|
||||
grid-template-columns: 1em 100% 1fr;
|
||||
grid-template-rows: 100%;
|
||||
grid-template-areas: ". section-chart ."; }
|
||||
.site-content--section .site-content__footer,
|
||||
.site-content--list .site-content__footer {
|
||||
grid-area: list-page-footer; }
|
||||
|
||||
.site-content--single {
|
||||
display: grid;
|
||||
column-gap: 2em;
|
||||
grid-template-columns: 0.4fr 0.6fr;
|
||||
grid-template-rows: auto auto auto; }
|
||||
.site-content--single .site-content__header, .site-content--single .site-content__footer {
|
||||
display: grid;
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3;
|
||||
background-color: #fffff0;
|
||||
filter: brightness(80%); }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--single .site-content__header, .site-content--single .site-content__footer {
|
||||
border: 2px solid #020202;
|
||||
grid-column-end: 2;
|
||||
padding: 2em; } }
|
||||
.site-content--single .site-content__header {
|
||||
grid-row-start: 1;
|
||||
grid-row-end: 2;
|
||||
overflow: auto;
|
||||
border-bottom: 2px solid #020202;
|
||||
margin-bottom: 2em; }
|
||||
.site-content--single .site-content__header .article-header {
|
||||
text-align: center;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
color: #fffff0;
|
||||
display: grid;
|
||||
grid-area: post-header-details;
|
||||
grid-template-columns: 1fr;
|
||||
padding: 20px;
|
||||
grid-template-rows: 1fr auto auto 1fr;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "." "post-title" "post-subtitle" "."; }
|
||||
.site-content--single .site-content__header .article-header__series {
|
||||
margin: 0 auto 1em;
|
||||
font-size: 1.2em; }
|
||||
.site-content--single .site-content__header .article-header__featured-image {
|
||||
display: grid;
|
||||
grid-template-columns: 15% 1fr 15%;
|
||||
grid-template-rows: 20% 1fr 20%;
|
||||
grid-template-areas: ". . ." ". post-header-details ." ". . .";
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
height: 40vh;
|
||||
min-height: 380px;
|
||||
width: 100%;
|
||||
border: 2px solid #020202; }
|
||||
.site-content--single .site-content__header .article-header__featured-image .attr {
|
||||
background-color: #020202;
|
||||
font-size: 0.7em;
|
||||
color: #fffff0;
|
||||
width: fit-content;
|
||||
position: fixed;
|
||||
padding: 0.2em 0.5em;
|
||||
opacity: 0.8;
|
||||
margin: 0 auto; }
|
||||
.site-content--single .site-content__header .article-header__featured-image .attr a {
|
||||
color: #fffff0; }
|
||||
.site-content--single .site-content__header .article-header__title, .site-content--single .site-content__header .article-header__subtitle {
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em;
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper {
|
||||
display: grid;
|
||||
grid-area: post-header-details;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
text-align: center;
|
||||
grid-template-columns: 1fr;
|
||||
padding: 20px;
|
||||
grid-template-rows: 1fr auto auto 1fr;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "." "post-title" "post-subtitle" "."; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper--no-title {
|
||||
visibility: hidden; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title, .site-content--single .site-content__header .article-header__title-wrapper .article-header__subtitle {
|
||||
color: #fffff0; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title {
|
||||
grid-area: post-title;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title--long {
|
||||
font-size: 1.5em; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__subtitle {
|
||||
grid-area: post-subtitle; }
|
||||
.site-content--single .site-content__header .article-header__word-count, .site-content--single .site-content__header .article-header__publish-date, .site-content--single .site-content__header .article-header__modified-date {
|
||||
font-size: 1.2em;
|
||||
margin: 0.2rem auto; }
|
||||
.site-content--single .site-content__header .article-header__word-count {
|
||||
margin-top: 1rem; }
|
||||
.site-content--single .site-content__header .article-header__notes, .site-content--single .site-content__header .article-header__warnings {
|
||||
width: 90%;
|
||||
margin: 1.6em auto;
|
||||
display: block;
|
||||
padding-right: 1em; }
|
||||
.site-content--single .site-content__header .article-header__notes ul, .site-content--single .site-content__header .article-header__warnings ul {
|
||||
list-style: circle; }
|
||||
.site-content--single .site-content__header .article-header__notes ul li, .site-content--single .site-content__header .article-header__warnings ul li {
|
||||
margin: 0.5em 0; }
|
||||
.site-content--single .site-content__header .article-header__notes {
|
||||
background-color: #fffff0;
|
||||
filter: brightness(70%);
|
||||
border: 1px solid gray; }
|
||||
.site-content--single .site-content__header .article-header__warnings {
|
||||
border: 4px solid darkred;
|
||||
background-color: #fc3a3a;
|
||||
color: #fffff0;
|
||||
font-weight: 500; }
|
||||
.site-content--single .site-content__header .article-header__warnings ul {
|
||||
list-style: disc; }
|
||||
.site-content--single .site-content__header .article-header__table-of-contents ul {
|
||||
list-style-type: arabic;
|
||||
padding-left: 2em; }
|
||||
.site-content--single .site-content__body {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3;
|
||||
grid-row-start: 2;
|
||||
grid-row-end: 3;
|
||||
/* Temporary until I've fixed all the figures */
|
||||
overflow-x: clip;
|
||||
/* TODO: remove once replaced in content with figures */ }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--single .site-content__body {
|
||||
grid-row-start: 1;
|
||||
grid-row-end: 4;
|
||||
grid-column-start: 2; } }
|
||||
.site-content--single .site-content__body .heading {
|
||||
text-align: center;
|
||||
font-size: 2em;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__body .heading::before,
|
||||
.site-content--single .site-content__body .heading::after {
|
||||
content: " ~ "; }
|
||||
.site-content--single .site-content__body .subheading {
|
||||
font-size: 1.6em;
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em;
|
||||
text-align: center; }
|
||||
.site-content--single .site-content__body .subheading__subtitle {
|
||||
font-size: 1em;
|
||||
border-bottom: 1px dashed #020202;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
padding-bottom: 0.5em;
|
||||
line-height: 1em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
padding: 0 3em 0.4em; }
|
||||
.site-content--single .site-content__body blockquote {
|
||||
padding-left: 1em;
|
||||
border-left: 2px outset #020202;
|
||||
display: inline-block;
|
||||
max-width: 85%; }
|
||||
.site-content--single .site-content__body blockquote footer {
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
display: inline-block;
|
||||
margin-left: 5em; }
|
||||
.site-content--single .site-content__body blockquote footer::before {
|
||||
content: "—"; }
|
||||
.site-content--single .site-content__body blockquote:first-child {
|
||||
font-size: 1.2em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
border-left: 0;
|
||||
padding-left: 0;
|
||||
width: 100%;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1.2em;
|
||||
border-top: 2px outset #020202;
|
||||
border-bottom: 2px inset #020202; }
|
||||
.site-content--single .site-content__body blockquote p:first-child {
|
||||
margin-top: 0; }
|
||||
.site-content--single .site-content__body blockquote p:last-of-type {
|
||||
margin-bottom: 0.5em; }
|
||||
.site-content--single .site-content__body blockquote.script {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr 0.2fr;
|
||||
padding-bottom: 0.4em;
|
||||
text-align: left; }
|
||||
.site-content--single .site-content__body blockquote.script > p::before, .site-content--single .site-content__body blockquote.script > p::after {
|
||||
content: none !important; }
|
||||
.site-content--single .site-content__body blockquote.script > .script-line__character {
|
||||
grid-column: 1;
|
||||
margin: 0.5em 2em 0.5em 0.5em;
|
||||
font-style: italic; }
|
||||
.site-content--single .site-content__body blockquote.script > .script-line__text {
|
||||
grid-column-start: 2;
|
||||
grid-column-end: 4;
|
||||
margin: 0.5em; }
|
||||
.site-content--single .site-content__body blockquote.script footer {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3; }
|
||||
@media only screen and (min-width: 1024px) {
|
||||
.site-content--single .site-content__body blockquote {
|
||||
margin: 1em 2em; } }
|
||||
.site-content--single .site-content__body img,
|
||||
.site-content--single .site-content__body video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
max-height: 50vh;
|
||||
margin: auto;
|
||||
display: block; }
|
||||
.site-content--single .site-content__body .figure {
|
||||
margin: 16px auto;
|
||||
width: fit-content; }
|
||||
.site-content--single .site-content__body .figure__image {
|
||||
display: block;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
height: auto;
|
||||
max-height: 50vh; }
|
||||
.site-content--single .site-content__body .figure__caption {
|
||||
height: auto;
|
||||
margin: auto; }
|
||||
.site-content--single .site-content__body .figure__caption--no-height {
|
||||
height: 0; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__caption {
|
||||
font-size: 0.9em;
|
||||
font-style: italic;
|
||||
text-align: center; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__attr {
|
||||
background-color: #020202;
|
||||
font-size: 0.7em;
|
||||
color: #fffff0;
|
||||
width: fit-content;
|
||||
top: -2em;
|
||||
position: relative;
|
||||
padding: 0.2em 0.5em;
|
||||
opacity: 0.8;
|
||||
margin: 0 auto; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__attr + .figcaption__caption {
|
||||
margin-top: -0.5em; }
|
||||
.site-content--single .site-content__footer {
|
||||
grid-row-start: 3;
|
||||
grid-row-end: 4;
|
||||
border-top: 2px solid #020202; }
|
||||
@media only screen and (min-width: 1248px) {
|
||||
.site-content--single .site-content__footer {
|
||||
margin-bottom: 2em;
|
||||
grid-row-start: 2;
|
||||
grid-row-end: 3; } }
|
||||
.site-content--single .site-content__footer h2 {
|
||||
margin: 1rem 0; }
|
||||
.site-content--single .site-content__footer ul {
|
||||
margin: 0; }
|
||||
.site-content--single .site-content__footer #mapdiv {
|
||||
border: 2px solid #020202; }
|
||||
|
||||
.organisations-table {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 5; }
|
||||
|
||||
#organisation-body .index {
|
||||
display: grid;
|
||||
grid-gap: 6px 5px;
|
||||
grid-area: items;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-rows: 1fr;
|
||||
justify-items: stretch;
|
||||
align-items: stretch;
|
||||
grid-template-areas: "item1 item2 item3 item4"; }
|
||||
|
||||
#organisation-body .index .item:nth-child(1) {
|
||||
grid-area: item1; }
|
||||
|
||||
#organisation-body .index .item:nth-child(2) {
|
||||
grid-area: item2; }
|
||||
|
||||
#organisation-body .index .item:nth-child(3) {
|
||||
grid-area: item3; }
|
||||
|
||||
#organisation-body .index .item:nth-child(4) {
|
||||
grid-area: item4; }
|
||||
|
||||
#organisation-body details {
|
||||
cursor: pointer;
|
||||
opacity: 0.7;
|
||||
border: 2px solid #020202; }
|
||||
#organisation-body details:hover, #organisation-body details:focus {
|
||||
opacity: 1; }
|
||||
|
||||
#organisation-body summary::marker {
|
||||
font-size: 2em;
|
||||
padding-left: 2em; }
|
||||
|
||||
#organisation-body summary .subheading {
|
||||
display: inline;
|
||||
width: 95%;
|
||||
padding-bottom: 2em; }
|
||||
|
||||
#organisation-body summary .index {
|
||||
border-top: 2px solid #020202; }
|
||||
|
||||
#hierarchy ul {
|
||||
list-style: none;
|
||||
padding-left: 1em; }
|
||||
#hierarchy ul .hierarchy-item:before {
|
||||
content: '\21B3';
|
||||
margin: 0 0.4em; }
|
||||
#hierarchy ul .hierarchy-item--current {
|
||||
font-weight: bold; }
|
||||
#hierarchy ul .hierarchy-item--child:before {
|
||||
content: '\2192'; }
|
||||
|
||||
.timeline__legend span {
|
||||
margin: 0 1em; }
|
||||
.timeline__legend span * {
|
||||
display: inline-block; }
|
||||
.timeline__legend span .colour-square {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
border-radius: 2.5px;
|
||||
border: 1px solid #020202; }
|
||||
.timeline__legend span .colour-square--current {
|
||||
background-color: #bbbbb0; }
|
||||
.timeline__legend span .colour-square--past {
|
||||
background-color: #fffff0; }
|
||||
|
||||
.site-content__body--chart #timeline, .site-content__body--chart #map {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
grid-area: section-chart; }
|
||||
|
||||
.site-content__body--list .site-content__sections-list {
|
||||
grid-area: sections-list;
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: auto;
|
||||
padding-left: 0; }
|
||||
.site-content__body--list .site-content__sections-list li * {
|
||||
display: inline-block; }
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
/*@import "themes/dark";*/ }
|
|
@ -0,0 +1,984 @@
|
|||
@charset "UTF-8";
|
||||
/*
|
||||
Put this file in /static/css/hugo-easy-gallery.css
|
||||
Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
|
||||
*/
|
||||
/*
|
||||
Grid Layout Styles
|
||||
*/
|
||||
.gallery {
|
||||
overflow: hidden; }
|
||||
|
||||
.gallery .box {
|
||||
float: left;
|
||||
position: relative;
|
||||
/* Default: 1 tile wide */
|
||||
width: 100%;
|
||||
padding-bottom: 100%; }
|
||||
|
||||
@media only screen and (min-width: 365px) {
|
||||
/* Tablet view: 2 tiles */
|
||||
.gallery .box {
|
||||
width: 50%;
|
||||
padding-bottom: 50%; } }
|
||||
|
||||
@media only screen and (min-width: 480px) {
|
||||
/* Small desktop / ipad view: 3 tiles */
|
||||
.gallery .box {
|
||||
width: 33.3%;
|
||||
padding-bottom: 33.3%;
|
||||
/* */ } }
|
||||
|
||||
@media only screen and (min-width: 9999px) {
|
||||
/* Medium desktop: 4 tiles */
|
||||
.box {
|
||||
width: 25%;
|
||||
padding-bottom: 25%; } }
|
||||
|
||||
/*
|
||||
Transition styles
|
||||
*/
|
||||
.gallery.hover-transition figure,
|
||||
.gallery.hover-effect-zoom .img,
|
||||
.gallery:not(.caption-effect-appear) figcaption,
|
||||
.fancy-figure:not(.caption-effect-appear) figcaption {
|
||||
-webkit-transition: all 0.3s ease-in-out;
|
||||
-moz-transition: all 0.3s ease-in-out;
|
||||
-o-transition: all 0.3s ease-in-out;
|
||||
transition: all 0.3s ease-in-out; }
|
||||
|
||||
/*
|
||||
figure styles
|
||||
*/
|
||||
figure {
|
||||
position: relative;
|
||||
/* purely to allow absolution positioning of figcaption */
|
||||
overflow: hidden; }
|
||||
|
||||
.gallery figure {
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
right: 5px;
|
||||
top: 5px;
|
||||
bottom: 5px; }
|
||||
|
||||
.gallery.hover-effect-grow figure:hover {
|
||||
transform: scale(1.05); }
|
||||
|
||||
.gallery.hover-effect-shrink figure:hover {
|
||||
transform: scale(0.95); }
|
||||
|
||||
.gallery.hover-effect-slidedown figure:hover {
|
||||
transform: translateY(5px); }
|
||||
|
||||
.gallery.hover-effect-slideup figure:hover {
|
||||
transform: translateY(-5px); }
|
||||
|
||||
/*
|
||||
img / a styles
|
||||
*/
|
||||
.gallery .img {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-size: cover;
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat; }
|
||||
|
||||
.gallery.hover-effect-zoom figure:hover .img {
|
||||
transform: scale(1.05); }
|
||||
|
||||
.gallery img {
|
||||
display: none !important;
|
||||
/* only show the img if not inside a gallery */ }
|
||||
|
||||
.gallery figure a {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0; }
|
||||
|
||||
/*
|
||||
figcaption styles
|
||||
*/
|
||||
.gallery figcaption,
|
||||
.fancy-figure figcaption {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
font-size: 75%;
|
||||
/* change this if you want bigger text */
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
opacity: 1;
|
||||
cursor: pointer; }
|
||||
|
||||
.gallery.caption-position-none figcaption,
|
||||
.fancy-figure.caption-position-none figcaption {
|
||||
display: none; }
|
||||
|
||||
.gallery.caption-position-center figcaption,
|
||||
.fancy-figure.caption-position-center figcaption {
|
||||
top: 0;
|
||||
padding: 40% 5px; }
|
||||
|
||||
.gallery.caption-position-bottom figcaption,
|
||||
.fancy-figure.caption-position-bottom figcaption {
|
||||
padding: 5px; }
|
||||
|
||||
.gallery.caption-effect-fade figure:not(:hover) figcaption,
|
||||
.gallery.caption-effect-appear figure:not(:hover) figcaption,
|
||||
.fancy-figure.caption-effect-fade figure:not(:hover) figcaption,
|
||||
.fancy-figure.caption-effect-appear figure:not(:hover) figcaption {
|
||||
background: rgba(0, 0, 0, 0);
|
||||
opacity: 0; }
|
||||
|
||||
.gallery.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption,
|
||||
.fancy-figure.caption-effect-slide.caption-position-bottom figure:not(:hover) figcaption {
|
||||
margin-bottom: -100%; }
|
||||
|
||||
.gallery.caption-effect-slide.caption-position-center figure:not(:hover) figcaption,
|
||||
.fancy-figure.caption-effect-slide.caption-position-center figure:not(:hover) figcaption {
|
||||
top: 100%; }
|
||||
|
||||
.gallery figcaption p {
|
||||
margin: auto;
|
||||
/* override style in theme */ }
|
||||
|
||||
@font-face {
|
||||
font-family: "Input Mono";
|
||||
src: url(/fonts/InputMono-Regular.ttf); }
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
color: #020202;
|
||||
background-color: #fffff0;
|
||||
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; }
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
margin: 0; }
|
||||
|
||||
a {
|
||||
text-decoration-skip-ink: auto;
|
||||
color: #020202;
|
||||
text-decoration: underline;
|
||||
opacity: 0.8; }
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
opacity: 1; }
|
||||
|
||||
.sic::after {
|
||||
content: " [sic]";
|
||||
font-style: italic; }
|
||||
|
||||
.latex {
|
||||
display: inline !important; }
|
||||
|
||||
pre {
|
||||
padding-left: 1em;
|
||||
border-left: 2px outset #020202;
|
||||
display: inline-block;
|
||||
max-width: 85%; }
|
||||
|
||||
pre {
|
||||
overflow: hidden; }
|
||||
|
||||
@media only screen and (min-width: 1024px) {
|
||||
pre {
|
||||
margin: 1em 2em; } }
|
||||
|
||||
q.guillemets {
|
||||
quotes: "«" "»" "«" "»"; }
|
||||
|
||||
q,
|
||||
blockquote {
|
||||
quotes: "‘" "’" "“" "”"; }
|
||||
|
||||
q::before {
|
||||
content: open-quote; }
|
||||
|
||||
q::after {
|
||||
content: close-quote; }
|
||||
|
||||
cite,
|
||||
cite.book,
|
||||
cite.film,
|
||||
cite.tv-show,
|
||||
cite.comic,
|
||||
cite.book,
|
||||
cite.podcast,
|
||||
cite.album,
|
||||
cite.report {
|
||||
font-style: italic; }
|
||||
|
||||
cite.book--proper-noun {
|
||||
font-style: inherit; }
|
||||
|
||||
cite.legislation,
|
||||
cite.smallcite,
|
||||
cite.comic-strip,
|
||||
cite.short-story,
|
||||
cite.article,
|
||||
cite.episode,
|
||||
cite.video,
|
||||
cite.chapter,
|
||||
cite.software,
|
||||
cite.website,
|
||||
cite.campaign,
|
||||
cite.song,
|
||||
cite.speech,
|
||||
cite.course,
|
||||
cite.presentation {
|
||||
font-style: normal; }
|
||||
|
||||
cite.smallcite::before,
|
||||
cite.article::before,
|
||||
cite.comic-strip::before,
|
||||
cite.short-story::before,
|
||||
cite.episode::before,
|
||||
cite.video::before,
|
||||
cite.chapter::before,
|
||||
cite.song::before,
|
||||
cite.poem::before,
|
||||
cite.campaign::before,
|
||||
cite.speech::before,
|
||||
cite.course::before,
|
||||
cite.presentation::before {
|
||||
content: "“"; }
|
||||
|
||||
cite.smallcite::after,
|
||||
cite.article::after,
|
||||
cite.comic-strip::after,
|
||||
cite.short-story::after,
|
||||
cite.episode::after,
|
||||
cite.video::after,
|
||||
cite.chapter::after,
|
||||
cite.song::after,
|
||||
cite.poem::after,
|
||||
cite.campaign::after,
|
||||
cite.speech::after,
|
||||
cite.course::after,
|
||||
cite.presentation::after {
|
||||
content: "”"; }
|
||||
|
||||
cite.article--shortcite::before,
|
||||
cite.article--shortcite::after {
|
||||
content: none; }
|
||||
|
||||
code,
|
||||
samp,
|
||||
var,
|
||||
pre {
|
||||
font-family: "Input Mono", "Lucida Console", Monaco, monospace;
|
||||
font-size: 1em; }
|
||||
|
||||
pre .nocode {
|
||||
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-size: 1em;
|
||||
padding: 1px 3px;
|
||||
border-radius: 6px;
|
||||
border: dashed 1px black; }
|
||||
|
||||
code,
|
||||
samp,
|
||||
var {
|
||||
background-color: #d1d1d1;
|
||||
border-radius: 5px;
|
||||
padding: 2px; }
|
||||
|
||||
pre {
|
||||
max-width: 50vw;
|
||||
overflow: scroll; }
|
||||
|
||||
h1 code,
|
||||
.post-title code,
|
||||
pre code,
|
||||
h1 samp,
|
||||
.post-title samp,
|
||||
pre samp,
|
||||
h1 var,
|
||||
.post-title var,
|
||||
pre var {
|
||||
background-color: transparent;
|
||||
padding: 0; }
|
||||
|
||||
.heading code,
|
||||
.subheading code {
|
||||
background-color: transparent; }
|
||||
|
||||
pre.prettyprint ol {
|
||||
padding-left: 3.5em; }
|
||||
|
||||
pre.prettyprint li {
|
||||
background: none !important; }
|
||||
|
||||
samp {
|
||||
display: block;
|
||||
width: 80ch;
|
||||
margin: 1em 4em;
|
||||
border-left: 2px solid #ccc;
|
||||
color: #333; }
|
||||
|
||||
kbd {
|
||||
padding: 0.1em 0.6em;
|
||||
border: 1px solid #ccc;
|
||||
font-size: 11px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
background-color: #f7f7f7;
|
||||
color: #333;
|
||||
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
margin: 0 0.1em;
|
||||
text-shadow: 0 1px 0 white;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap; }
|
||||
|
||||
.pre-nominals,
|
||||
.post-nominals {
|
||||
font-size: 0.6em;
|
||||
font-variant: small-caps; }
|
||||
|
||||
.site-container {
|
||||
display: grid;
|
||||
grid-template-columns: 2.5% 1fr 2.5%;
|
||||
grid-template-rows: auto 1fr 2.5%;
|
||||
grid-template-areas: "header header header" "page-container page-container page-container" "footer footer footer";
|
||||
min-height: calc(100vh - 4em);
|
||||
border-top: 0; }
|
||||
.site-container--homepage {
|
||||
align-items: center;
|
||||
grid-template-rows: auto 2.5%;
|
||||
grid-template-areas: "page-container page-container page-container" "footer footer footer";
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em; }
|
||||
.site-container--list, .site-container--section {
|
||||
align-items: center; }
|
||||
|
||||
.site-header {
|
||||
display: grid;
|
||||
grid-area: header;
|
||||
grid-gap: 0;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
grid-template-areas: "header-title" "header-tagline" "header-icons" "header-nav";
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
z-index: 1; }
|
||||
.site-header__title, .site-header__tagline, .site-header__icons, .site-header__nav {
|
||||
background-color: #fffff0;
|
||||
margin: 0; }
|
||||
.site-header__title, .site-header__tagline, .site-header__icons {
|
||||
padding: 5px 0; }
|
||||
.site-header__title {
|
||||
font-weight: normal;
|
||||
grid-area: header-title; }
|
||||
.site-header__tagline {
|
||||
grid-area: header-tagline; }
|
||||
.site-header__icons {
|
||||
grid-area: header-icons;
|
||||
border-bottom: 2px solid #020202;
|
||||
margin-bottom: 0; }
|
||||
.site-header__nav {
|
||||
grid-area: header-nav;
|
||||
margin: auto;
|
||||
width: 100%; }
|
||||
.site-header__nav ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0; }
|
||||
.site-header__nav li {
|
||||
width: calc(100% / 3);
|
||||
display: block;
|
||||
float: left;
|
||||
border-bottom: 2px solid black;
|
||||
border-left: 1px solid black;
|
||||
border-right: 1px solid black;
|
||||
padding: 0.4em;
|
||||
background-color: inherit; }
|
||||
.site-header__nav a:first-child li {
|
||||
border-left: 2px solid black; }
|
||||
.site-header__nav a:last-child li {
|
||||
border-right: 2px solid black; }
|
||||
.site-header__nav li:hover {
|
||||
background-color: #ffffd0; }
|
||||
.site-header__nav li a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block; }
|
||||
|
||||
.site-footer {
|
||||
grid-area: footer;
|
||||
display: block;
|
||||
width: 99%;
|
||||
/* Overflows right of viewport otherwise */
|
||||
position: fixed;
|
||||
bottom: 0; }
|
||||
.site-footer p {
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
background: #fffff0;
|
||||
border: 2px solid black;
|
||||
padding: 0.4em;
|
||||
border-bottom: none;
|
||||
font-size: 0.6em; }
|
||||
|
||||
.site-content {
|
||||
grid-area: page-container;
|
||||
margin-left: 1em;
|
||||
margin-right: 1em; }
|
||||
|
||||
.feed-icon {
|
||||
display: inline-block;
|
||||
height: 0.6em;
|
||||
width: 0.6em;
|
||||
margin-bottom: 0.2em; }
|
||||
|
||||
.link--tile {
|
||||
text-decoration: none;
|
||||
box-sizing: border-box;
|
||||
border: 2px solid transparent; }
|
||||
.link--tile:hover {
|
||||
border-color: #020202; }
|
||||
|
||||
.item-tile {
|
||||
display: grid;
|
||||
min-height: 180px;
|
||||
grid-template-columns: 5% auto 5%;
|
||||
grid-template-rows: 2.5% auto 2.5%;
|
||||
grid-template-areas: ". . ." ". tile-details ." ". . .";
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center; }
|
||||
@media (prefers-reduced-data: reduce) {
|
||||
.item-tile {
|
||||
background: none !important; } }
|
||||
.item-tile.lazy {
|
||||
background-image: none !important; }
|
||||
.item-tile--heading {
|
||||
font-size: 3em; }
|
||||
.item-tile--heading .item-tile__header {
|
||||
opacity: 1; }
|
||||
.item-tile--ohwhatohjeez {
|
||||
border: 2px solid #ff8900; }
|
||||
.item-tile--oldphaloskepsis {
|
||||
border: 2px solid #003d52; }
|
||||
.item-tile--omphaloskepsis {
|
||||
border: 2px solid #fffff0; }
|
||||
.item-tile__header {
|
||||
text-align: center;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
display: grid;
|
||||
grid-area: tile-details;
|
||||
grid-template-columns: 5px auto 5px;
|
||||
grid-template-rows: 0 auto auto auto;
|
||||
grid-template-areas: ". . ." ". banner ." ". tile-title ." ". tile-subtitle ."; }
|
||||
.item-tile__banner {
|
||||
padding: 0.5em 1em 0;
|
||||
grid-area: banner;
|
||||
width: auto;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-radius: 0 0 10px 10px;
|
||||
text-align: center;
|
||||
text-decoration: none !important;
|
||||
line-height: 0.5em;
|
||||
background-color: #ebebeb; }
|
||||
.item-tile__title, .item-tile__subtitle {
|
||||
color: #fffff0;
|
||||
margin: 0;
|
||||
font-weight: normal; }
|
||||
.item-tile__title {
|
||||
font-size: 1.4em;
|
||||
grid-area: tile-title;
|
||||
align-self: center; }
|
||||
.item-tile__title--long {
|
||||
font-size: 1em; }
|
||||
.item-tile__subtitle {
|
||||
font-size: 0.8em;
|
||||
grid-area: tile-subtitle;
|
||||
align-self: start; }
|
||||
|
||||
/* TODO: Not currently used */
|
||||
@media screen and (max-width: 480px) {
|
||||
.table-scroller {
|
||||
overflow-x: auto;
|
||||
width: 320px; } }
|
||||
|
||||
table {
|
||||
border: 1px solid #020202;
|
||||
margin: auto; }
|
||||
table td {
|
||||
padding: 0.5em 1em;
|
||||
border: 1px solid #020202; }
|
||||
|
||||
.site-content--homepage {
|
||||
text-align: center; }
|
||||
.site-content--homepage .page-title {
|
||||
font-size: 2.5em;
|
||||
margin-bottom: 1em; }
|
||||
.site-content--homepage .page-title span {
|
||||
display: block !important;
|
||||
font-size: 0.3em; }
|
||||
|
||||
.site-content--section,
|
||||
.site-content--list {
|
||||
display: grid;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: 0.2fr 1fr 0.2fr;
|
||||
grid-template-rows: auto auto 60px;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "list-page-header list-page-header list-page-header" "list-page-grid list-page-grid list-page-grid" "list-page-footer list-page-footer list-page-footer";
|
||||
margin-top: 5em; }
|
||||
.site-content--section .site-content__header,
|
||||
.site-content--list .site-content__header {
|
||||
grid-area: list-page-header;
|
||||
text-align: center; }
|
||||
.site-content--section .site-content__header .page-header__minor-links,
|
||||
.site-content--list .site-content__header .page-header__minor-links {
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
overflow: auto; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul {
|
||||
list-style: none; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul li,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul li {
|
||||
float: left;
|
||||
margin: 0 1em; }
|
||||
.site-content--section .site-content__header .page-header__minor-links ul li *,
|
||||
.site-content--list .site-content__header .page-header__minor-links ul li * {
|
||||
display: inline-block; }
|
||||
.site-content--section .site-content__header .page-header__minor-links .minor-links__categories,
|
||||
.site-content--list .site-content__header .page-header__minor-links .minor-links__categories {
|
||||
width: 100%;
|
||||
display: block;
|
||||
font-size: 0.8em !important;
|
||||
overflow: auto; }
|
||||
.site-content--section .site-content__header .page-header__minor-links .minor-links__years,
|
||||
.site-content--list .site-content__header .page-header__minor-links .minor-links__years {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: fit-content; }
|
||||
.site-content--section .site-content__body,
|
||||
.site-content--list .site-content__body {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
justify-items: stretch;
|
||||
align-items: stretch;
|
||||
grid-gap: 10px;
|
||||
grid-area: list-page-grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: repeat(8, 1fr);
|
||||
justify-items: stretch;
|
||||
align-items: stretch; }
|
||||
.site-content--section .site-content__body--list,
|
||||
.site-content--list .site-content__body--list {
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
grid-template-rows: auto;
|
||||
grid-template-areas: ". sections-list ."; }
|
||||
.site-content--section .site-content__body--chart,
|
||||
.site-content--list .site-content__body--chart {
|
||||
grid-template-columns: 1em 100% 1fr;
|
||||
grid-template-rows: 100%;
|
||||
grid-template-areas: ". section-chart ."; }
|
||||
.site-content--section .site-content__footer,
|
||||
.site-content--list .site-content__footer {
|
||||
grid-area: list-page-footer; }
|
||||
|
||||
.site-content--single {
|
||||
display: grid;
|
||||
column-gap: 2em;
|
||||
grid-template-columns: 0.4fr 0.6fr;
|
||||
grid-template-rows: auto auto auto; }
|
||||
.site-content--single .site-content__header, .site-content--single .site-content__footer {
|
||||
display: grid;
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3;
|
||||
background-color: #fffff0;
|
||||
filter: brightness(80%); }
|
||||
.site-content--single .site-content__header {
|
||||
grid-row-start: 1;
|
||||
grid-row-end: 2;
|
||||
overflow: auto;
|
||||
border-bottom: 2px solid #020202;
|
||||
margin-bottom: 2em; }
|
||||
.site-content--single .site-content__header .article-header {
|
||||
text-align: center;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
color: #fffff0;
|
||||
display: grid;
|
||||
grid-area: post-header-details;
|
||||
grid-template-columns: 1fr;
|
||||
padding: 20px;
|
||||
grid-template-rows: 1fr auto auto 1fr;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "." "post-title" "post-subtitle" "."; }
|
||||
.site-content--single .site-content__header .article-header__series {
|
||||
margin: 0 auto 1em;
|
||||
font-size: 1.2em; }
|
||||
.site-content--single .site-content__header .article-header__featured-image {
|
||||
display: grid;
|
||||
grid-template-columns: 15% 1fr 15%;
|
||||
grid-template-rows: 20% 1fr 20%;
|
||||
grid-template-areas: ". . ." ". post-header-details ." ". . .";
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
height: 40vh;
|
||||
min-height: 380px;
|
||||
width: 100%;
|
||||
border: 2px solid #020202; }
|
||||
.site-content--single .site-content__header .article-header__featured-image .attr {
|
||||
background-color: #020202;
|
||||
font-size: 0.7em;
|
||||
color: #fffff0;
|
||||
width: fit-content;
|
||||
position: fixed;
|
||||
padding: 0.2em 0.5em;
|
||||
opacity: 0.8;
|
||||
margin: 0 auto; }
|
||||
.site-content--single .site-content__header .article-header__featured-image .attr a {
|
||||
color: #fffff0; }
|
||||
.site-content--single .site-content__header .article-header__title, .site-content--single .site-content__header .article-header__subtitle {
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em;
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper {
|
||||
display: grid;
|
||||
grid-area: post-header-details;
|
||||
background-color: #020202;
|
||||
opacity: 0.8;
|
||||
text-align: center;
|
||||
grid-template-columns: 1fr;
|
||||
padding: 20px;
|
||||
grid-template-rows: 1fr auto auto 1fr;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
grid-template-areas: "." "post-title" "post-subtitle" "."; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper--no-title {
|
||||
visibility: hidden; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title, .site-content--single .site-content__header .article-header__title-wrapper .article-header__subtitle {
|
||||
color: #fffff0; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title {
|
||||
grid-area: post-title;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__title--long {
|
||||
font-size: 1.5em; }
|
||||
.site-content--single .site-content__header .article-header__title-wrapper .article-header__subtitle {
|
||||
grid-area: post-subtitle; }
|
||||
.site-content--single .site-content__header .article-header__word-count, .site-content--single .site-content__header .article-header__publish-date, .site-content--single .site-content__header .article-header__modified-date {
|
||||
font-size: 1.2em;
|
||||
margin: 0.2rem auto; }
|
||||
.site-content--single .site-content__header .article-header__word-count {
|
||||
margin-top: 1rem; }
|
||||
.site-content--single .site-content__header .article-header__notes, .site-content--single .site-content__header .article-header__warnings {
|
||||
width: 90%;
|
||||
margin: 1.6em auto;
|
||||
display: block;
|
||||
padding-right: 1em; }
|
||||
.site-content--single .site-content__header .article-header__notes ul, .site-content--single .site-content__header .article-header__warnings ul {
|
||||
list-style: circle; }
|
||||
.site-content--single .site-content__header .article-header__notes ul li, .site-content--single .site-content__header .article-header__warnings ul li {
|
||||
margin: 0.5em 0; }
|
||||
.site-content--single .site-content__header .article-header__notes {
|
||||
background-color: #fffff0;
|
||||
filter: brightness(70%);
|
||||
border: 1px solid gray; }
|
||||
.site-content--single .site-content__header .article-header__warnings {
|
||||
border: 4px solid darkred;
|
||||
background-color: #fc3a3a;
|
||||
color: #fffff0;
|
||||
font-weight: 500; }
|
||||
.site-content--single .site-content__header .article-header__warnings ul {
|
||||
list-style: disc; }
|
||||
.site-content--single .site-content__header .article-header__table-of-contents ul {
|
||||
list-style-type: arabic;
|
||||
padding-left: 2em; }
|
||||
.site-content--single .site-content__body {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3;
|
||||
grid-row-start: 2;
|
||||
grid-row-end: 3;
|
||||
/* Temporary until I've fixed all the figures */
|
||||
overflow-x: clip;
|
||||
/* TODO: remove once replaced in content with figures */ }
|
||||
.site-content--single .site-content__body .heading {
|
||||
text-align: center;
|
||||
font-size: 2em;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__body .heading::before,
|
||||
.site-content--single .site-content__body .heading::after {
|
||||
content: " ~ "; }
|
||||
.site-content--single .site-content__body .subheading {
|
||||
font-size: 1.6em;
|
||||
border-bottom: 2px inset #020202;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.2em;
|
||||
text-align: center; }
|
||||
.site-content--single .site-content__body .subheading__subtitle {
|
||||
font-size: 1em;
|
||||
border-bottom: 1px dashed #020202;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
padding-bottom: 0.5em;
|
||||
line-height: 1em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
padding: 0 3em 0.4em; }
|
||||
.site-content--single .site-content__body .subsubheading {
|
||||
font-size: 1.4em;
|
||||
border-bottom: 1px dashed #020202;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
padding-bottom: 0.5em;
|
||||
line-height: 1em;
|
||||
text-align: left;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__body .subsubsubheading {
|
||||
font-size: 1.2em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
line-height: 1em;
|
||||
text-align: left;
|
||||
font-weight: bold; }
|
||||
.site-content--single .site-content__body blockquote {
|
||||
padding-left: 1em;
|
||||
border-left: 2px outset #020202;
|
||||
display: inline-block;
|
||||
max-width: 85%; }
|
||||
.site-content--single .site-content__body blockquote footer {
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
display: inline-block;
|
||||
margin-left: 5em; }
|
||||
.site-content--single .site-content__body blockquote footer::before {
|
||||
content: "—"; }
|
||||
.site-content--single .site-content__body blockquote:first-child {
|
||||
font-size: 1.2em;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
border-left: 0;
|
||||
padding-left: 0;
|
||||
width: 100%;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1.2em;
|
||||
border-top: 2px outset #020202;
|
||||
border-bottom: 2px inset #020202; }
|
||||
.site-content--single .site-content__body blockquote p:first-child {
|
||||
margin-top: 0; }
|
||||
.site-content--single .site-content__body blockquote p:last-of-type {
|
||||
margin-bottom: 0.5em; }
|
||||
.site-content--single .site-content__body blockquote.script {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr 0.2fr;
|
||||
padding-bottom: 0.4em;
|
||||
text-align: left; }
|
||||
.site-content--single .site-content__body blockquote.script > p::before, .site-content--single .site-content__body blockquote.script > p::after {
|
||||
content: none !important; }
|
||||
.site-content--single .site-content__body blockquote.script > .script-line__character {
|
||||
grid-column: 1;
|
||||
margin: 0.5em 2em 0.5em 0.5em;
|
||||
font-style: italic; }
|
||||
.site-content--single .site-content__body blockquote.script > .script-line__text {
|
||||
grid-column-start: 2;
|
||||
grid-column-end: 4;
|
||||
margin: 0.5em; }
|
||||
.site-content--single .site-content__body blockquote.script footer {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3; }
|
||||
@media only screen and (min-width: 1024px) {
|
||||
.site-content--single .site-content__body blockquote {
|
||||
margin: 1em 2em; } }
|
||||
.site-content--single .site-content__body img,
|
||||
.site-content--single .site-content__body video {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
max-height: 50vh;
|
||||
margin: auto;
|
||||
display: block; }
|
||||
.site-content--single .site-content__body .figure {
|
||||
margin: 16px auto;
|
||||
width: fit-content; }
|
||||
.site-content--single .site-content__body .figure__image {
|
||||
display: block;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
height: auto;
|
||||
max-height: 50vh; }
|
||||
.site-content--single .site-content__body .figure__chart {
|
||||
min-height: 40vh;
|
||||
max-height: 60vh; }
|
||||
.site-content--single .site-content__body .figure__caption {
|
||||
height: auto;
|
||||
margin: auto; }
|
||||
.site-content--single .site-content__body .figure__caption--no-height {
|
||||
height: 0; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__caption {
|
||||
font-size: 0.9em;
|
||||
font-style: italic;
|
||||
text-align: center; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__attr {
|
||||
background-color: #020202;
|
||||
font-size: 0.7em;
|
||||
color: #fffff0;
|
||||
width: fit-content;
|
||||
top: -2em;
|
||||
position: relative;
|
||||
padding: 0.2em 0.5em;
|
||||
opacity: 0.8;
|
||||
margin: 0 auto; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__attr + .figcaption__caption {
|
||||
margin-top: -0.5em; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__full-size-link {
|
||||
font-size: 0.6em;
|
||||
padding-left: 1em; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__full-size-link::before {
|
||||
content: '['; }
|
||||
.site-content--single .site-content__body .figure__caption .figcaption__full-size-link::after {
|
||||
content: ']'; }
|
||||
.site-content--single .site-content__footer {
|
||||
grid-row-start: 3;
|
||||
grid-row-end: 4;
|
||||
border-top: 2px solid #020202; }
|
||||
.site-content--single .site-content__footer h2 {
|
||||
margin: 1rem 0; }
|
||||
.site-content--single .site-content__footer ul {
|
||||
margin: 0; }
|
||||
.site-content--single .site-content__footer #mapdiv {
|
||||
border: 2px solid #020202; }
|
||||
|
||||
.organisations-table {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 5; }
|
||||
|
||||
#organisation-body .index {
|
||||
display: grid;
|
||||
grid-gap: 6px 5px;
|
||||
grid-area: items;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-rows: 1fr;
|
||||
justify-items: stretch;
|
||||
align-items: stretch;
|
||||
grid-template-areas: "item1 item2 item3 item4"; }
|
||||
|
||||
#organisation-body .index .item:nth-child(1) {
|
||||
grid-area: item1; }
|
||||
|
||||
#organisation-body .index .item:nth-child(2) {
|
||||
grid-area: item2; }
|
||||
|
||||
#organisation-body .index .item:nth-child(3) {
|
||||
grid-area: item3; }
|
||||
|
||||
#organisation-body .index .item:nth-child(4) {
|
||||
grid-area: item4; }
|
||||
|
||||
#organisation-body details {
|
||||
cursor: pointer;
|
||||
opacity: 0.7;
|
||||
border: 2px solid #020202; }
|
||||
#organisation-body details:hover, #organisation-body details:focus {
|
||||
opacity: 1; }
|
||||
|
||||
#organisation-body summary::marker {
|
||||
font-size: 2em;
|
||||
padding-left: 2em; }
|
||||
|
||||
#organisation-body summary .subheading {
|
||||
display: inline;
|
||||
width: 95%;
|
||||
padding-bottom: 2em; }
|
||||
|
||||
#organisation-body summary .index {
|
||||
border-top: 2px solid #020202; }
|
||||
|
||||
#hierarchy ul {
|
||||
list-style: none;
|
||||
padding-left: 1em; }
|
||||
#hierarchy ul .hierarchy-item:before {
|
||||
content: '\21B3';
|
||||
margin: 0 0.4em; }
|
||||
#hierarchy ul .hierarchy-item--current {
|
||||
font-weight: bold; }
|
||||
#hierarchy ul .hierarchy-item--child:before {
|
||||
content: '\2192'; }
|
||||
|
||||
.timeline__legend span {
|
||||
margin: 0 1em; }
|
||||
.timeline__legend span * {
|
||||
display: inline-block; }
|
||||
.timeline__legend span .colour-square {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
border-radius: 2.5px;
|
||||
border: 1px solid #020202; }
|
||||
.timeline__legend span .colour-square--unpaid-current {
|
||||
background-color: #bbbbb0; }
|
||||
.timeline__legend span .colour-square--unpaid-past {
|
||||
background-color: #fffff0; }
|
||||
.timeline__legend span .colour-square--paid-current {
|
||||
background-color: #BCBC7E; }
|
||||
.timeline__legend span .colour-square--paid-past {
|
||||
background-color: #FCFCA6; }
|
||||
|
||||
.site-content__body--chart #timeline, .site-content__body--chart #map {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
grid-area: section-chart; }
|
||||
|
||||
.site-content__body--list .site-content__sections-list {
|
||||
grid-area: sections-list;
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: auto;
|
||||
padding-left: 0; }
|
||||
.site-content__body--list .site-content__sections-list li * {
|
||||
display: inline-block; }
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html,
|
||||
.site-header {
|
||||
color: #fffff0;
|
||||
background-color: #020202; }
|
||||
.site-header__nav li {
|
||||
color: #fffff0;
|
||||
border-color: #fffff0; }
|
||||
.site-header__nav li:hover {
|
||||
background-color: #020202; }
|
||||
.site-header__title a {
|
||||
color: #fffff0; }
|
||||
.item-tile--heading, .item-tile__header {
|
||||
background-color: #fffff0; }
|
||||
.item-tile--heading, .item-tile__header, .item-tile__title, .item-tile__subtitle {
|
||||
color: #020202; } }
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,22 +0,0 @@
|
|||
@media print {
|
||||
html {
|
||||
font-size: 12pt; }
|
||||
/*
|
||||
a::after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
*/
|
||||
.site-header,
|
||||
.site-footer {
|
||||
display: none; }
|
||||
.site-content {
|
||||
column-width: 17em;
|
||||
column-gap: 3em;
|
||||
widows: 3;
|
||||
orphans: 3; }
|
||||
.site-content--single .site-content__header, .site-content--single .site-content__footer, .site-content--single .site-content .article__links {
|
||||
background-color: none; }
|
||||
.site-content .figure {
|
||||
break-inside: avoid; }
|
||||
.site-content .figure--gallery {
|
||||
break-inside: auto; } }
|
Binary file not shown.
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 696 B |
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 618 B |
|
@ -11,61 +11,19 @@ function drawChart() {
|
|||
dataTable.addColumn({ type: 'date', id: 'End' });
|
||||
|
||||
dataTable.addRows([
|
||||
[
|
||||
"Accessibility Standing Group",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2023-07-12"),
|
||||
new Date("2023-08-07")
|
||||
],
|
||||
[
|
||||
"Online Safety SIG",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2023-07-12"),
|
||||
new Date("2023-08-07")
|
||||
],
|
||||
[
|
||||
"Youth Standing Group",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2023-07-12"),
|
||||
new Date("2023-08-07")
|
||||
],
|
||||
[
|
||||
"Centro de Derechos Humanos Fray Bartolomé de las Casas, La Organización Sociedad Civil Las Abejas de Acteal",
|
||||
"BriCO Volunteer",
|
||||
"#FFFFF0",
|
||||
new Date("2023-06-26"),
|
||||
new Date("2023-07-13")
|
||||
],
|
||||
[
|
||||
"Centro de Español y Lenguas Mayas Rebelde Autónomo Zapatista",
|
||||
"Student",
|
||||
"#FFFFF0",
|
||||
new Date("2023-06-05"),
|
||||
new Date("2023-06-23")
|
||||
],
|
||||
[
|
||||
"Instituto Cubano de Amistad con los Pueblos, Cuba Solidarity Campaign",
|
||||
"Brigadista, XVI Brigada Internacional Primero de May",
|
||||
"#FFFFF0",
|
||||
new Date("2023-04-23"),
|
||||
new Date("2023-05-12")
|
||||
],
|
||||
[
|
||||
"Workaway, Volcano Day",
|
||||
"Workawayer",
|
||||
"#BBBBB0",
|
||||
new Date("2023-03-26"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Cuba Solidarity Campaign",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2023-03-03"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Workaway, Hospedaje Wounaan",
|
||||
|
@ -93,7 +51,7 @@ function drawChart() {
|
|||
"Developer",
|
||||
"#BBBBB0",
|
||||
new Date("2023-01-19"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Workaway, Finca DeLaRey",
|
||||
|
@ -124,18 +82,18 @@ function drawChart() {
|
|||
new Date("2022-11-24")
|
||||
],
|
||||
[
|
||||
"Self-Employed, Morecambe Net",
|
||||
"Morecambe Net",
|
||||
"Web Developer",
|
||||
"#FCFCA6",
|
||||
"#BCBC7E",
|
||||
new Date("2022-10-26"),
|
||||
new Date("2023-02-01")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Chartered Institute for Information Security",
|
||||
"Associate Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-08-09"),
|
||||
new Date("2023-05-31")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"West Lancs Scouts Active Support",
|
||||
|
@ -147,114 +105,114 @@ function drawChart() {
|
|||
[
|
||||
"Advanced Programming Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Computer Arts Society",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Computer Conservation Society",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Consultancy Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Enterprise Architecture Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Green IT Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Health & Care Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Internet Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Information Risk Management and Assurance Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Information Security Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"IT Ethics Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Law Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"BCS Nottingham & Derby Branch",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Open Source Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Sociotechnical Specialist Group",
|
||||
"Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"BCS, the Chartered Institute for IT",
|
||||
"Professional Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-06-06"),
|
||||
new Date("2023-05-26")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Chartered Institute for Information Security",
|
||||
|
@ -273,9 +231,9 @@ function drawChart() {
|
|||
[
|
||||
"BCS, the Chartered Institute for IT",
|
||||
"Student Member",
|
||||
"#FFFFF0",
|
||||
"#BBBBB0",
|
||||
new Date("2022-05-26"),
|
||||
new Date("2022-06-06")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"MORS Cyber CoP",
|
||||
|
@ -317,7 +275,7 @@ function drawChart() {
|
|||
"Supporter",
|
||||
"#BBBBB0",
|
||||
new Date("2022-01-14"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Actica Consulting",
|
||||
|
@ -373,14 +331,14 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2021-09-24"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Mountain Training Association",
|
||||
"Trainee Member",
|
||||
"#BBBBB0",
|
||||
new Date("2021-08-24"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"North West Area Meeting",
|
||||
|
@ -394,7 +352,7 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2021-07-26"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Lancaster Quaker Meeting",
|
||||
|
@ -439,12 +397,19 @@ function drawChart() {
|
|||
new Date("2022-04-15")
|
||||
],
|
||||
[
|
||||
"Self-Employed, Morecambe Net",
|
||||
"Morecambe Net",
|
||||
"Web Developer",
|
||||
"#FCFCA6",
|
||||
new Date("2021-01-24"),
|
||||
new Date("2021-10-03")
|
||||
],
|
||||
[
|
||||
"CSS Selectors as Fragment Identifiers Community Group",
|
||||
"Participant",
|
||||
"#BBBBB0",
|
||||
new Date("2021-01-23"),
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"footnotes",
|
||||
"Contributor",
|
||||
|
@ -452,13 +417,6 @@ function drawChart() {
|
|||
new Date("2021-01-23"),
|
||||
new Date("2022-03-08")
|
||||
],
|
||||
[
|
||||
"CSS Selectors as Fragment Identifiers Community Group",
|
||||
"Participant",
|
||||
"#FFFFF0",
|
||||
new Date("2021-01-23"),
|
||||
new Date("2023-04-07")
|
||||
],
|
||||
[
|
||||
"The Scout Association",
|
||||
"UK Contingent – 16th World Scout Moot",
|
||||
|
@ -485,7 +443,7 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2020-09-29"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Executive Committee",
|
||||
|
@ -506,7 +464,14 @@ function drawChart() {
|
|||
"Website Content Manager",
|
||||
"#BBBBB0",
|
||||
new Date("2020-08-31"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Unity2020",
|
||||
"Volunteer",
|
||||
"#FFFFF0",
|
||||
new Date("2020-07-08"),
|
||||
new Date("2020-08-21")
|
||||
],
|
||||
[
|
||||
"Digital & Data Scout Active Support Unit",
|
||||
|
@ -653,14 +618,14 @@ function drawChart() {
|
|||
"Associate Member",
|
||||
"#BBBBB0",
|
||||
new Date("2019-04-01"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Youth Hostel Association",
|
||||
"Company Member",
|
||||
"#BBBBB0",
|
||||
new Date("2019-02-20"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Friends of Lancaster Library",
|
||||
|
@ -842,14 +807,14 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2018-06-20"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"UK England Chapter",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2018-06-13"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Community Networks SIG",
|
||||
|
@ -863,14 +828,14 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2018-06-06"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Internet Society",
|
||||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2018-06-04"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Mitigate Cyber",
|
||||
|
@ -1014,7 +979,7 @@ function drawChart() {
|
|||
],
|
||||
[
|
||||
"Graduate College",
|
||||
"Member",
|
||||
"MCR Member",
|
||||
"#FFFFF0",
|
||||
new Date("2017-10-05"),
|
||||
new Date("2018-12-12")
|
||||
|
@ -1059,7 +1024,7 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2017-06-06"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Lonsdale District Scout Network, Scout Network",
|
||||
|
@ -1122,7 +1087,7 @@ function drawChart() {
|
|||
"Member",
|
||||
"#BBBBB0",
|
||||
new Date("2016-12-19"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Pendle College, Lancaster University Students' Union",
|
||||
|
@ -1493,7 +1458,7 @@ function drawChart() {
|
|||
"Librarian",
|
||||
"#BBBBB0",
|
||||
new Date("2013-05-01"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Patient Participation Group",
|
||||
|
@ -1549,7 +1514,7 @@ function drawChart() {
|
|||
"Minister",
|
||||
"#BBBBB0",
|
||||
new Date("2012-01-01"),
|
||||
new Date("2023-08-07")
|
||||
new Date("2023-04-13")
|
||||
],
|
||||
[
|
||||
"Salvation Army",
|
||||
|
|
0
layouts/404.html
Normal file
0
layouts/404.html
Normal file
|
@ -1 +1 @@
|
|||
<h{{ .Level }} id="{{ .Anchor }}" class="{{ range after 1 ( seq .Level ) }}sub{{ end }}heading">{{ .Text | safeHTML }} <a class="heading-anchor" href="#{{ .Anchor }}">¶</a></h{{ .Level }}>
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="{{ range after 1 ( seq .Level ) }}sub{{ end }}heading">{{ .Text | safeHTML }} <a class="heading-anchor" href="#{{ .Anchor | safeURL }}">¶</a></h{{ .Level }}>
|
||||
|
|
1
layouts/_default/_markup/render-link.html
Normal file
1
layouts/_default/_markup/render-link.html
Normal file
|
@ -0,0 +1 @@
|
|||
{{- with 1 -}}{{- end -}}<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>{{- with 1 -}}{{- end -}}
|
|
@ -2,11 +2,12 @@
|
|||
|
||||
{{ partialCached "copying.html" . }}
|
||||
|
||||
<html class="h-card" lang="en-gb" itemscope itemtype="https://schema.org/Blog">
|
||||
<html lang="en-gb" itemscope itemtype="https://schema.org/WebSite">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="viewport" content="width=device-width, intitial-scale=1">
|
||||
<meta name="robots" content="noindex">
|
||||
<!--<meta http-equiv="Content-Security-Policy" content="default-src 'self'">-->
|
||||
<meta name="theme-color" content="#FFFFF0">
|
||||
<meta name="description" content="{{ block "head-description" . }}{{ $.Site.Params.description | html }}{{ end }}">
|
||||
<meta name="twitter:dnt" content="on">
|
||||
|
@ -14,48 +15,35 @@
|
|||
<title itemprop="name">{{- block "title" . -}}{{- .Site.Title }} | {{ .Site.Params.tagline -}}{{- end -}}</title>
|
||||
|
||||
<link rel="license" href="{{ block "head-license" . }}https://creativecommons.org/publicdomain/zero/1.0/{{ end }}">
|
||||
<link class="u-url u-uid" rel="me" href="{{ .Site.Home.Permalink }}">
|
||||
<link class="u-email" rel="me" href="mailto:me+bg@bengoldsworthy.net">
|
||||
<link class="u-url" rel="me" href="https://github.com/Rumperuu">
|
||||
<link class="u-url" rel="me" href="https://news.ycombinator.com/user?id=Rumperuu">
|
||||
<link class="u-logo" rel="icon" sizes="192x192" href="/images/icon.png">
|
||||
<link class="u-key" rel="author" href="{{ .Site.Params.keyfile }}">
|
||||
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
|
||||
{{ with .OutputFormats.Get "rss" -}}
|
||||
<link rel="{{ .Rel }}" type="{{ .MediaType.Type | html }}" href="{{ .RelPermalink }}" title="{{ $.Site.Title | safeHTML }}" />
|
||||
{{- end }}
|
||||
<link rel="me" href="mailto:me+bg@bengoldsworthy.net">
|
||||
<link rel="icon" sizes="192x192" href="/images/icon.png">
|
||||
{{ with .OutputFormats.Get "rss" }}<link rel="{{ .Rel }}" type="{{ .MediaType.Type | html }}" href="{{ .RelPermalink }}" title="{{ $.Site.Title | safeHTML }}" />{{ end }}
|
||||
|
||||
<link href="/css/sanitize.css" rel="stylesheet" />
|
||||
{{- $mainStylesheet := resources.Get "css/main.scss" }}
|
||||
{{- $mainStylesheet := $mainStylesheet | resources.ToCSS | resources.Fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $mainStylesheet.Permalink }}" integrity="{{ $mainStylesheet.Data.Integrity | html }}">
|
||||
{{- $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 }}">
|
||||
{{- $sass := resources.Get "css/main.scss" }}
|
||||
{{- $style := $sass | resources.ToCSS | resources.Fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity | html }}">
|
||||
{{- block "header-styles" . -}}<!-- -->{{- end -}}
|
||||
|
||||
{{- block "header-scripts" . -}}<!-- -->{{- end -}}
|
||||
|
||||
{{- block "header-styles" . -}}<!-- -->{{- end -}}
|
||||
</head>
|
||||
|
||||
<body class="site-container site-container{{ block "main-class" . }} layouts-default-baseof{{ end }}">
|
||||
<body class="site-container site-container{{ block "main-class" . }}{{ end }}">
|
||||
{{ block "header" . -}}
|
||||
{{- partialCached "header/site-header.html" . -}}
|
||||
{{- end }}
|
||||
|
||||
<article class="{{ block "article-class" . }}h-entry {{ end }}site-content site-content{{ block "main-class" . }}{{ end }}" itemscope itemtype="https://schema.org/BlogPosting">
|
||||
<main class="site-content site-content{{ block "main-class" . }}{{ end }}" itemscope itemtype="{{ block "main-type" . }}https://schema.org/Thing{{ end }}">
|
||||
{{ block "main-header" . }}{{ end }}
|
||||
{{ block "main-body" . }}{{ end }}
|
||||
{{ block "main-footer" . }}{{ end }}
|
||||
</article>
|
||||
</main>
|
||||
|
||||
{{- block "footer" . -}}
|
||||
<footer class="site-footer">
|
||||
<p>
|
||||
By <a href="/">{{ $.Site.Author.name }}</a> |
|
||||
<a href="{{ $.Site.Params.codeURL }}{{ $.Site.Params.reportIssueURL }}">Report an Issue</a> |
|
||||
<a href="{{ $.Site.Params.reportIssueURL }}" target="_blank" rel="noopener noreferrer">Report an Issue</a> |
|
||||
<a href="{{ relref . "privacy-policy" }}">Privacy Policy</a> |
|
||||
<a href="/{{ .Sitemap.Filename }}">Sitemap</a> |
|
||||
Built: {{ now.Format "2006-01-02T15:04:05" }}
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
{{ .Type | singularize }}: ‘{{ .Page.Title | plainify }}’ | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--list layouts-default-list{{ end}}
|
||||
{{ define "main-class" }}--list{{ end}}
|
||||
|
||||
{{ define "main-header" }}
|
||||
<header class="site-content__header">
|
||||
<h2 class="page-title">{{ .Type | singularize }}: <q>{{ .Title | safeHTML }}</q>
|
||||
<h1 class="page-title">{{ .Type | singularize }}: <q>{{ .Title | safeHTML }}</q>
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<a href="{{ .RelPermalink }}" aria-label="{{ $.Title }} RSS feed">
|
||||
<img class="feed-icon" alt="RSS icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
<a href="{{ .RelPermalink }}">
|
||||
<img class="feed-icon" src="/images/feed-icon.png">
|
||||
</a>
|
||||
{{ end }}
|
||||
</h2>
|
||||
</h1>
|
||||
{{ .Content }}
|
||||
|
||||
<nav class="page-header__minor-links">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{ .Page.Title | plainify }} | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--section layouts-default-section{{ end }}
|
||||
{{ define "main-class" }}--section{{ end }}
|
||||
|
||||
{{ define "main-type" }}.{{ .Params.mainType }}{{ end }}
|
||||
{{ define "item-type" }}{{ .Params.itemsType }}{{ end }}
|
||||
|
@ -10,13 +10,13 @@
|
|||
|
||||
{{ define "main-header" }}
|
||||
<header class="site-content__header">
|
||||
<h2 class="page-title">{{ .Title | safeHTML }}
|
||||
<h1 class="page-title">{{ .Title | safeHTML }}
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<a href="{{ .RelPermalink }}" aria-label="{{ $.Title }} RSS feed">
|
||||
<img class="feed-icon" alt="RSS icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
<a href="{{ .RelPermalink }}">
|
||||
<img class="feed-icon" src="/images/feed-icon.png">
|
||||
</a>
|
||||
{{ end }}
|
||||
</h2>
|
||||
</h1>
|
||||
{{ .Content }}
|
||||
</header>
|
||||
{{ end }}
|
||||
|
|
|
@ -2,57 +2,47 @@
|
|||
|
||||
{{ define "head-description" }}{{ .Summary | plainify }}{{ end }}
|
||||
|
||||
{{ define "main-class" }}--single layouts-default-single{{ end }}
|
||||
|
||||
{{ define "header-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
{{ $mapJS := resources.Get "js/leaflet.js" | fingerprint }}
|
||||
<script id="Map-script" src="{{ $mapJS.Permalink }}" integrity="{{ $mapJS.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "header-styles" }}
|
||||
{{ with .Params.styles }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ ( $.Page.Resources.GetMatch "style").RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ with .Params.locations }}
|
||||
<link rel="stylesheet" href="/css/leaflet.css">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ define "main-class" }}--single{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
<script>
|
||||
var map = L.map('map').setView([55, -3], 13);
|
||||
<script src="https://www.openlayers.org/api/OpenLayers.js"></script>
|
||||
<script>
|
||||
map = new OpenLayers.Map("mapdiv");
|
||||
map.addLayer(new OpenLayers.Layer.OSM());
|
||||
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
maxZoom: 19,
|
||||
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||
}).addTo(map);
|
||||
|
||||
var latLons = [];
|
||||
var lonLats = [];
|
||||
{{ range . }}
|
||||
{{ with ( index $.Site.Data.locations . ) }}
|
||||
L.marker([{{ .lat }}, {{ .lon }}]).addTo(map);
|
||||
latLons.push([{{ .lat }}, {{ .lon }}]);
|
||||
lonLats.push(new OpenLayers.LonLat( {{ .lon }} , {{ .lat }} )
|
||||
.transform(
|
||||
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
|
||||
map.getProjectionObject() // to Spherical Mercator Projection
|
||||
));
|
||||
{{ else }}
|
||||
{{ warnf "Could not find lat-lon for %q (%q)" . $.File.Path }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
map.fitBounds(latLons);
|
||||
|
||||
/* TODO: Smarter zoom selection */
|
||||
var zoom=5;
|
||||
|
||||
var markers = new OpenLayers.Layer.Markers( "Markers" );
|
||||
map.addLayer(markers);
|
||||
|
||||
for (var i = 0; i < lonLats.length; i++) {
|
||||
markers.addMarker(new OpenLayers.Marker(lonLats[i]));
|
||||
}
|
||||
|
||||
/* TODO: Smarter centering */
|
||||
map.setCenter(lonLats[0], zoom);
|
||||
</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" }}
|
||||
{{ $chartsCoreJS := resources.Get "js/chart.js" | fingerprint }}
|
||||
{{ $chartsConfigJS := $.Page.Resources.GetMatch "charts-init" }}
|
||||
<script id="Charts-script" src="{{ $chartsCoreJS.Permalink }}" integrity="{{ $chartsCoreJS.Data.Integrity }}"></script>
|
||||
<script id="Charts-config-script" src="{{ $chartsConfigJS.Permalink }}"></script>
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script src="/js/mathjax-config.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@ -68,12 +58,12 @@
|
|||
{{ end }}
|
||||
{{ end }}>
|
||||
<div class="article-header__title-wrapper">
|
||||
<h2 class="article-header__title{{ if gt ( len ( .Title | plainify ) ) 40 }} article-header__title--long{{ end }}">
|
||||
<h1 class="article-header__title{{ if gt ( len ( .Title | plainify ) ) 40 }} article-header__title--long{{ end }}">
|
||||
<span role="text" itemprop="name">{{ .Title | safeHTML }}</span>
|
||||
</h2>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="article-header__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
</h1>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="article-header__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ with .Resources.GetMatch .Params.featured_image }}
|
||||
<p class="attr">
|
||||
|
@ -112,7 +102,7 @@
|
|||
|
||||
{{ if and ( .TableOfContents ) ( ne .TableOfContents "<nav id=\"TableOfContents\"></nav>" ) }}
|
||||
<nav class="article-header__table-of-contents">
|
||||
<h3 class="article-header__subtitle">Table of Contents</h3>
|
||||
<h2 class="article-header__subtitle">Table of Contents</h2>
|
||||
{{ .TableOfContents }}
|
||||
</nav>
|
||||
{{ end }}
|
||||
|
@ -120,39 +110,9 @@
|
|||
{{ end }}
|
||||
|
||||
{{ define "main-body" }}
|
||||
<section class="site-content__body">
|
||||
{{- if ( or .Params.internal_links .Params.external_links ) -}}
|
||||
<section class="article__links">
|
||||
{{- with .Params.internal_links -}}
|
||||
<h3>Internal Links</h3>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
{{- end -}}
|
||||
|
||||
{{- with .Params.external_links -}}
|
||||
<h3>External Links</h3>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a href="{{ .link }}" rel="noopener noreferrer" target="_blank">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a href="{{ . }}" rel="noopener noreferrer" target="_blank">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
{{- end -}}
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
<article class="site-content__body">
|
||||
{{ .Content }}
|
||||
</section>
|
||||
</article>
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-footer" }}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{ .Page.Title | plainify }} | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--section layouts-blog-section{{ end }}
|
||||
{{ define "main-class" }}--section{{ end }}
|
||||
|
||||
{{ define "main-type" }}{{ .Params.mainType }}{{ end }}
|
||||
|
||||
|
@ -63,30 +63,30 @@
|
|||
|
||||
{{ define "main-header" }}
|
||||
<header class="site-content__header">
|
||||
<h2 class="page-title">{{ .Title | safeHTML }}
|
||||
<h1 class="page-title">{{ .Title | safeHTML }}
|
||||
{{ if eq .Type "blog" }}
|
||||
{{ with .GetPage "blog/posts" }}
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<a href="{{ .RelPermalink }}" aria-label="{{ $.Title }} RSS feed">
|
||||
<img class="feed-icon" alt="RSS icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
<a href="{{ .RelPermalink }}">
|
||||
<img class="feed-icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<a href="{{ .RelPermalink }}" aria-label="{{ $.Title }} RSS feed">
|
||||
<img class="feed-icon" alt="RSS icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
</a>
|
||||
{{ end }}
|
||||
<a href="{{ .RelPermalink }}">
|
||||
<img class="feed-icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</h2>
|
||||
</h1>
|
||||
{{ .Content }}
|
||||
|
||||
<nav class="page-header__minor-links">
|
||||
<ul class="minor-links__categories">
|
||||
<li><a href="/series"><h3>Series’</h3></a> <p>({{ len .Site.Taxonomies.series }})</p></li>
|
||||
<li><a href="/series"><h2>Series’</h2></a> <p>({{ len .Site.Taxonomies.series }})</p></li>
|
||||
{{ range .Site.Taxonomies.categories }}
|
||||
<li><a href="{{ .Page.RelPermalink }}"><h3>{{ .Page.Title | safeHTML }}</h3></a> <p>({{ len . }})</p></li>
|
||||
<li><a href="{{ .Page.RelPermalink }}"><h2>{{ .Page.Title | safeHTML }}</h2></a> <p>({{ len . }})</p></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ if eq .Type "blog" }}
|
||||
|
|
|
@ -2,57 +2,57 @@
|
|||
“{{ .Title | plainify }}” | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--single layouts-blog-single{{ end }}
|
||||
|
||||
{{ define "header-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
{{ $mapJS := resources.Get "js/leaflet.js" | fingerprint }}
|
||||
<script id="Map-script" src="{{ $mapJS.Permalink }}" integrity="{{ $mapJS.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ define "main-class" }}--single{{ end }}
|
||||
|
||||
{{ define "header-styles" }}
|
||||
{{ with .Params.styles }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ ( $.Page.Resources.GetMatch "style").RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ with .Params.locations }}
|
||||
<link rel="stylesheet" href="/css/leaflet.css">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
{{ with .Params.locations }}
|
||||
<script>
|
||||
var map = L.map('map').setView([55, -3], 13);
|
||||
<script src="https://www.openlayers.org/api/OpenLayers.js"></script>
|
||||
<script>
|
||||
map = new OpenLayers.Map("mapdiv");
|
||||
map.addLayer(new OpenLayers.Layer.OSM());
|
||||
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
maxZoom: 19,
|
||||
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||
}).addTo(map);
|
||||
|
||||
var latLons = [];
|
||||
var lonLats = [];
|
||||
{{ range . }}
|
||||
{{ with ( index $.Site.Data.locations . ) }}
|
||||
L.marker([{{ .lat }}, {{ .lon }}]).addTo(map);
|
||||
latLons.push([{{ .lat }}, {{ .lon }}]);
|
||||
lonLats.push(new OpenLayers.LonLat( {{ .lon }} , {{ .lat }} )
|
||||
.transform(
|
||||
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
|
||||
map.getProjectionObject() // to Spherical Mercator Projection
|
||||
));
|
||||
{{ else }}
|
||||
{{ warnf "Could not find lat-lon for %q (%q)" . $.File.Path }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
map.fitBounds(latLons);
|
||||
|
||||
/* TODO: Smarter zoom selection */
|
||||
var zoom=5;
|
||||
|
||||
var markers = new OpenLayers.Layer.Markers( "Markers" );
|
||||
map.addLayer(markers);
|
||||
|
||||
for (var i = 0; i < lonLats.length; i++) {
|
||||
markers.addMarker(new OpenLayers.Marker(lonLats[i]));
|
||||
}
|
||||
|
||||
/* TODO: Smarter centering */
|
||||
map.setCenter(lonLats[0], zoom);
|
||||
</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>
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script src="/js/mathjax-config.js"></script>
|
||||
{{ end }}
|
||||
{{ if in . "charts" }}
|
||||
{{ $chartsCoreJS := resources.Get "js/chart.js" | fingerprint }}
|
||||
{{ $chartsConfigJS := $.Page.Resources.GetMatch "charts-init" }}
|
||||
<script id="Charts-script" src="{{ $chartsCoreJS.Permalink }}" integrity="{{ $chartsCoreJS.Data.Integrity }}"></script>
|
||||
<script id="Charts-config-script" src="{{ $chartsConfigJS.Permalink }}"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<script src="{{ ( $.Page.Resources.GetMatch "charts-init").RelPermalink }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@ -62,53 +62,25 @@
|
|||
{{ if .Params.series }}
|
||||
<p class="article-header__series">Part of series:
|
||||
{{ range ( .GetTerms "series" ) }}
|
||||
<a class="u-url" href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ end }}
|
||||
{{ with .Params.featured_image }}
|
||||
<img class="u-photo" style="display: none;" src="
|
||||
{{- with ( $.Resources.GetMatch . ) -}}
|
||||
{{- if eq .MediaType.SubType "svg" -}}
|
||||
{{- .RelPermalink -}}
|
||||
{{- else }}
|
||||
{{- with .Resize "1200x webp" -}}
|
||||
{{- .RelPermalink -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- . -}}
|
||||
{{- end -}}
|
||||
"
|
||||
itemprop="image"
|
||||
{{- with ( $.Resources.GetMatch . ) -}}
|
||||
alt="{{ .Params.alt }}"
|
||||
{{- end -}}
|
||||
/>
|
||||
{{ end }}
|
||||
<div class="article-header__featured-image"
|
||||
{{ if .Params.featured_image }}
|
||||
{{ with .Resources.GetMatch .Params.featured_image }}
|
||||
{{ if eq .MediaType.SubType "svg" }}
|
||||
style="background-image: url({{ .RelPermalink }})"
|
||||
{{ else }}
|
||||
{{ with .Resize "1500x webp" }}
|
||||
style="background-image: url({{ .RelPermalink }})"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .Resources.GetMatch .Params.featured_image }}
|
||||
style="background-image: url({{ ( .Resources.GetMatch .Params.featured_image ).RelPermalink }})"
|
||||
{{ else }}
|
||||
style="background-image: url({{ .Params.featured_image }})"
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
>
|
||||
<div class=" article-header__title-wrapper">
|
||||
<p class="p-name" style="display: none;" itemprop="name"><a class="u-url u-uid" href="{{ .Permalink }}">{{ .Title | safeHTML }}{{ with .Params.subtitle }}: {{ . | safeHTML }}{{ end }}</a></p>
|
||||
<h2 class="article-header__title{{ if gt ( len ( .Title | plainify ) ) 40 }} article-header__title--long{{ end }}">
|
||||
{{- .Title | safeHTML -}}
|
||||
</h2>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="article-header__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
{{ end }}>
|
||||
<div class="article-header__title-wrapper">
|
||||
<h1 class="article-header__title{{ if gt ( len ( .Title | plainify ) ) 40 }} article-header__title--long{{ end }}">
|
||||
<span role="text" itemprop="name">{{ .Title | safeHTML }}</span>
|
||||
</h1>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="article-header__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ with .Resources.GetMatch .Params.featured_image }}
|
||||
<p class="attr">
|
||||
|
@ -121,27 +93,8 @@
|
|||
</div>
|
||||
|
||||
<p class="article-header__word-count">~<span itemprop="wordCount">{{ .FuzzyWordCount | lang.NumFmt 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__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 style="display: none">Author{{ with .Params.authors }}s{{ end }}:
|
||||
{{- with .Params.authors -}}
|
||||
</p>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{- if ( eq . .Site.Author.name ) -}}
|
||||
<li><p><a class="p-author" itemprop="author" rel="author" href="{{ .Site.Home.Permalink }}">{{ .Site.Author.name }}</a></p></li>
|
||||
{{- else -}}
|
||||
<li><p class="p-author" itemprop="author">{{- . -}}</p></li>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
{{- else -}}
|
||||
<a class="p-author" itemprop="author" rel="author" href="{{ .Site.Home.Permalink }}">{{ .Site.Author.name }}</a>
|
||||
{{- end -}}
|
||||
</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>
|
||||
|
||||
{{ $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 ) ) }}
|
||||
|
@ -166,89 +119,25 @@
|
|||
|
||||
{{ if and ( .TableOfContents ) ( ne .TableOfContents "<nav id=\"TableOfContents\"></nav>" ) }}
|
||||
<nav class="article-header__table-of-contents">
|
||||
<h3 class="article-header__subtitle">Table of Contents</h3>
|
||||
<h2 class="article-header__subtitle">Table of Contents</h2>
|
||||
{{ .TableOfContents }}
|
||||
{{- if fileExists ( path.Join $.Page.File.Dir "appendices.md" ) -}}
|
||||
<ul class="toc-list--appendices">
|
||||
<li><a href="#appendices">Appendices</a>
|
||||
<ol>
|
||||
{{ range .Params.appendices }}
|
||||
<li><a href="#{{ . | anchorize }}">{{ . | safeHTML }}</a></li>
|
||||
{{ end }}
|
||||
</ol>
|
||||
</li>
|
||||
</ul>
|
||||
{{- end -}}
|
||||
{{- if fileExists ( path.Join $.Page.File.Dir "corrigenda.md" ) -}}
|
||||
<ul class="toc-list--corrigenda">
|
||||
<li><a href="#corrigenda">Corrigenda</a></li>
|
||||
</ul>
|
||||
{{- end -}}
|
||||
</nav>
|
||||
{{ end }}
|
||||
</header>
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-body" }}
|
||||
<section class="site-content__body" itemprop="articleBody">
|
||||
|
||||
{{ with .Summary }}
|
||||
<section class="article-body__summary" itemprop="abstract">
|
||||
<h2>Summary</h2>
|
||||
<p class="p-summary">{{ . }}</p>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{- if ( or .Params.internal_links .Params.external_links ) -}}
|
||||
<section class="article__links">
|
||||
{{- with .Params.internal_links -}}
|
||||
<h3>Internal Links</h3>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a class="button" href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a class="button" href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
{{- end -}}
|
||||
|
||||
{{- with .Params.external_links -}}
|
||||
<h3>External Links</h3>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a class="button" href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a class="button" href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
{{- end -}}
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
<section class="e-content article-body__content" itemprop="articleBody">
|
||||
{{ .Content }}
|
||||
</section>
|
||||
|
||||
{{ if fileExists ( path.Join $.Page.File.Dir "appendices.md" ) }}
|
||||
<section class="article-body__appendices">
|
||||
<h2 class="subheading subheading--appendices" id="appendices">Appendices</h2>
|
||||
{{ $file := path.Join $.Page.File.Dir "appendices.md" | readFile }}
|
||||
{{ $file | .RenderString }}
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ if fileExists ( path.Join $.Page.File.Dir "Corrigendum.md" ) }}
|
||||
<section class="article-body__corrigendum">
|
||||
<h2 class="subheading subheading--corrigendum" id="corrigendum">Corrigendum</h2>
|
||||
{{ $file := path.Join $.Page.File.Dir "corrigendum.md" | readFile }}
|
||||
{{ $file | .RenderString }}
|
||||
</section>
|
||||
{{ end }}
|
||||
</section>
|
||||
<article class="site-content__body" itemprop="articleBody">
|
||||
{{ .Content }}
|
||||
{{ if fileExists ( path.Join $.Page.File.Dir "appendices.md" ) }}
|
||||
<section class="article-body__appendices">
|
||||
<h2 class="subheading subheading--appendices">Appendices</h2>
|
||||
{{ warnf "Getting appendix for '%v'" $.File.Dir }}
|
||||
{{ $file := path.Join $.Page.File.Dir "appendices.md" }}
|
||||
{{ $file | markdownify }}
|
||||
</section>
|
||||
{{ end }}
|
||||
</article>
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-footer" }}
|
||||
|
|
218
layouts/cv/list.html
Normal file
218
layouts/cv/list.html
Normal file
|
@ -0,0 +1,218 @@
|
|||
{{ define "title" }}
|
||||
{{ .Page.Title | plainify }} | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}
|
||||
{{- if .IsDescendant ( .GetPage "/cv/organisations" ) -}}--single{{- else -}}--section{{- end -}}
|
||||
{{ end }}
|
||||
|
||||
{{ define "header-scripts" }}
|
||||
{{ if ( or ( eq .Type "cv" ) ( .IsDescendant ( .GetPage "/cv/organisations" ) ) ) }}
|
||||
<script type="text/javascript" src="/js/google-charts.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
{{ if eq .Type "cv" }}
|
||||
{{ $js := resources.Get "js/roles-chart.js" | resources.ExecuteAsTemplate "/js/render-roles-timeline.js" . }}
|
||||
<script type="text/javascript" src="{{ $js.RelPermalink }}"></script>
|
||||
{{ else if .IsDescendant ( .GetPage "/cv/organisations" ) }}
|
||||
{{ $titles := .Scratch.Get "titles" }}
|
||||
<script>
|
||||
google.charts.load('current', {'packages':['timeline']});
|
||||
google.charts.setOnLoadCallback(drawChart);
|
||||
|
||||
function drawChart() {
|
||||
var container = document.getElementById('timeline');
|
||||
var chart = new google.visualization.Timeline(container);
|
||||
var dataTable = new google.visualization.DataTable();
|
||||
|
||||
dataTable.addColumn({ type: 'string', id: 'Type' });
|
||||
dataTable.addColumn({ type: 'string', id: 'Job Title' });
|
||||
dataTable.addColumn({ type: 'string', id: 'style', role: 'style' });
|
||||
dataTable.addColumn({ type: 'date', id: 'Start' });
|
||||
dataTable.addColumn({ type: 'date', id: 'End' });
|
||||
dataTable.addRows([
|
||||
{{ range where ((.GetPage "cv").Sections) "Title" "Roles" -}}
|
||||
{{- range where (where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles -}}
|
||||
[
|
||||
"{{- delimit (intersect .Params.organisations $titles ) "" | safeHTML -}}",
|
||||
"{{- .Title | safeHTML -}}",
|
||||
"{{ if .Params.end_date }}#FFFFF0{{ else }}#BBBBB0{{ end }}",
|
||||
new Date("{{ .Date.Format "2006-01-02" }}"),
|
||||
new Date("{{ if .Params.end_date }}{{ delimit ( first 1 .Params.end_date ) "" }}{{ else }}{{ now.Format "2006-01-02" }}{{ end }}")
|
||||
],
|
||||
{{- end -}}
|
||||
{{ end -}}
|
||||
]);
|
||||
|
||||
var options = {
|
||||
title: '{{ .Title | plainify }} Roles Timeline',
|
||||
timeline: { showBarLabels: true }
|
||||
};
|
||||
|
||||
chart.draw(dataTable, options);
|
||||
|
||||
{{ if $titles }}
|
||||
container.style.height = ( ( ( {{ len $titles }} - 1 ) * 41 ) + 15 )+ "px";
|
||||
{{ end }}
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-header" }}
|
||||
{{ if .IsDescendant ( .GetPage "/cv/organisations" ) }}
|
||||
<header class="site-content__header">
|
||||
<div class="article-header__featured-image"
|
||||
{{ if .Params.featured_image }}
|
||||
{{ with .Resources.GetMatch .Params.featured_image }}
|
||||
style="background-image: url({{ .RelPermalink }})"
|
||||
{{ end }}
|
||||
{{ end }}>
|
||||
<div class="article-header__title-wrapper{{ if .Params.title_in_logo }} article-header__title-wrapper--no-title{{ end }}">
|
||||
<h1 class="article-header__title">{{ .Title | safeHTML }}LIST</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
{{ else }}
|
||||
<header class="site-content__header">
|
||||
<h1 class="page-title">{{ .Title | safeHTML }}.</h1>
|
||||
{{ .Content }}
|
||||
{{ if eq .Type "cv" }}
|
||||
<nav class="page-header__minor-links">
|
||||
<ul>
|
||||
{{ range ( where .Sections "Type" "not in" ( slice "cv/roles" ) ).ByTitle }}
|
||||
<li><a href="{{ .RelPermalink }}"><h2>{{ .Title }}</h2></a> <p>({{ len (where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) }})</p></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ if eq .Type "cv" }}
|
||||
<aside class="timeline__legend">
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<br>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
</aside>
|
||||
{{ end }}
|
||||
</header>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-body" }}
|
||||
{{ if .IsDescendant ( .GetPage "/cv/organisations" ) }}
|
||||
{{ $titles := slice (.Title | plainify) }}
|
||||
{{ range .Sections.ByTitle }}
|
||||
{{ $titles = $titles | append (slice (.Title | plainify) )}}
|
||||
{{ $titles = $titles | append ( partial "cv/organisations/recursive-children-titles.html" . ) }}
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "titles" $titles }}
|
||||
|
||||
<main id="organisation-body" class="site-content__body">
|
||||
<section id="description">
|
||||
{{ .Content }}
|
||||
</section>
|
||||
|
||||
<section id="roles-timelimne">
|
||||
<aside class="timeline__legend">
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<br>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
</aside>
|
||||
<div id="timeline" aria-label="Role Time" role="img">Javascript must be enabled to view this chart.</div>
|
||||
</section>
|
||||
|
||||
<section id="related" class="row">
|
||||
{{ if ne .Parent.Title "Organisations" }}
|
||||
<section id="parents" class="col-6 col-m-12">
|
||||
<h2 class="subheading">Parent</h2>
|
||||
{{ with .Parent }}
|
||||
<ul>
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a></li>
|
||||
</ul>
|
||||
{{ end }}
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ if gt (len .Sections) 0 }}
|
||||
<section id="children" class="col-6 col-m-12">
|
||||
<h2 class="subheading">Children</h2>
|
||||
<ul>
|
||||
{{ range .Sections.ByTitle }}
|
||||
<li>
|
||||
<a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a>
|
||||
{{ partial "cv/organisations/recursive-children.html" . }}
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{- $titles := .Scratch.Get "titles" -}}
|
||||
|
||||
{{ range (where ((.GetPage "blog").Sections) "Title" "Blog Posts") }}
|
||||
{{ $section_title := .Title }}
|
||||
{{ with where (where ( where .Site.Pages "Section" "blog" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles }}
|
||||
{{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ range (where ((.GetPage "portfolio").Sections) "Title" "!=" "Appearances").ByTitle }}
|
||||
{{ $section_title := .Title }}
|
||||
{{ with where (where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles }}
|
||||
{{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ range (where ((.GetPage "cv").Sections) "Title" "Qualifications") }}
|
||||
{{ $section_title := .Title }}
|
||||
{{ with where (where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles }}
|
||||
{{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ range (where ((.GetPage "cv").Sections) "Title" "Awards") }}
|
||||
{{ $section_title := .Title }}
|
||||
{{ with where (where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles }}
|
||||
{{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ range (where ((.GetPage "portfolio").Sections) "Title" "Appearances").ByTitle }}
|
||||
{{ $section_title := .Title }}
|
||||
{{ with where (where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles }}
|
||||
{{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</section>
|
||||
</main>
|
||||
{{ else }}
|
||||
{{ if eq .Type "cv" }}
|
||||
<article class="site-content__body site-content__body--list">
|
||||
<div id="timeline" width="1000" height="400" aria-label="Roles Timeline" role="img">Javascript must be enabled to view this chart.</div>
|
||||
</article>
|
||||
{{ else if eq .Type "cv/organisations" . }}
|
||||
{{ with .GetPage "cv/organisations" }}
|
||||
{{ partial "items-table.html" . }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ partial "items-grid.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -43,20 +43,20 @@ L.HeatLayer=(L.Layer?L.Layer:L.Class).extend({initialize:function(t,i){this._lat
|
|||
{{ .Scratch.Set "maxItems" 0 }}
|
||||
{{ .Scratch.Set "numOfItems" 0 }}
|
||||
|
||||
/* warnf "No of locations: %v" ( len $.Site.Data.locations ) */
|
||||
{{ warnf "No of locations: %v" ( len $.Site.Data.locations ) }}
|
||||
{{ range $key, $value := $.Site.Data.locations }}
|
||||
{{ $childPosts := where $.Site.Pages ".Params.locations" "intersect" ( slice $key ) }}
|
||||
/* warnf "Current location: %v" $key */
|
||||
/* warnf "Child posts: %v" $childPosts */
|
||||
{{ warnf "Current location: %v" $key }}
|
||||
{{ warnf "Child posts: %v" $childPosts }}
|
||||
{{ .Scratch.Set "numOfItems" ( len $childPosts ) }}
|
||||
{{ if ( gt ( .Scratch.Get "numOfItems" ) ( .Scratch.Get "maxItems" ) ) }}
|
||||
/* warnf "Updating maxItems" */
|
||||
{{ warnf "Updating maxItems" }}
|
||||
{{ .Scratch.Set "maxItems" ( .Scratch.Get "numOfItems" ) }}
|
||||
/* warnf "New maxItems: %d" .Scratch.Get "maxItems" */
|
||||
{{ warnf "New maxItems: %d" .Scratch.Get "maxItems" }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
/* warnf "maxItems: %v" ( .Scratch.Get "maxItems" ) */
|
||||
{{ warnf "maxItems: %v" ( .Scratch.Get "maxItems" ) }}
|
||||
console.log({{ .Scratch.Get "maxItems" }});
|
||||
|
||||
L.heatLayer([
|
||||
|
|
|
@ -3,13 +3,12 @@
|
|||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}
|
||||
{{- if .IsDescendant ( .GetPage "/cv/organisations" ) -}}--single{{- else -}}--section{{- end }} layouts-cv-section
|
||||
{{- if .IsDescendant ( .GetPage "/cv/organisations" ) -}}--single{{- else -}}--section{{- end -}}
|
||||
{{ end }}
|
||||
|
||||
{{ define "header-scripts" }}
|
||||
{{ if ( or ( eq .Type "cv" ) ( .IsDescendant ( .GetPage "/cv/organisations" ) ) ) }}
|
||||
{{ $googleChartsJS := resources.Get "js/google-charts.js" | fingerprint }}
|
||||
<script id="Google-Charts-script" src="{{ $googleChartsJS.Permalink }}" integrity="{{ $googleChartsJS.Data.Integrity }}"></script>
|
||||
<script type="text/javascript" src="/js/google-charts.js"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -76,12 +75,12 @@
|
|||
timeline: { showBarLabels: true }
|
||||
};
|
||||
|
||||
chart.draw(dataTable, options);
|
||||
chart.draw(dataTable, options);
|
||||
}
|
||||
</script>
|
||||
{{ else }}
|
||||
{{ $js := resources.Get "js/roles-chart.js" | resources.ExecuteAsTemplate "/js/render-roles-timeline.js" ( .GetPage "cv/roles" ) }}
|
||||
<script src="{{ $js.RelPermalink }}"></script>
|
||||
<script type="text/javascript" src="{{ $js.RelPermalink }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@ -95,38 +94,35 @@
|
|||
{{ end }}
|
||||
{{ end }}>
|
||||
<div class="article-header__title-wrapper{{ if .Params.title_in_logo }} article-header__title-wrapper--no-title{{ end }}">
|
||||
<h2 class="article-header__title">{{ if ( .Params.markup_title ) }}{{ .Params.markup_title | safeHTML }}{{ else }}{{ .Title }}{{ end }}</h2>
|
||||
<h1 class="article-header__title">{{ if ( .Params.markup_title ) }}{{ .Params.markup_title | safeHTML }}{{ else }}{{ .Title }}{{ end }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
{{ else }}
|
||||
<header class="site-content__header">
|
||||
<h2 class="page-title">{{ .Title | safeHTML }}.</h2>
|
||||
<h1 class="page-title">{{ .Title | safeHTML }}.</h1>
|
||||
{{ .Content }}
|
||||
{{ if eq .Type "cv" }}
|
||||
<nav class="page-header__minor-links">
|
||||
<ul>
|
||||
{{ range ( where .Sections "Type" "not in" ( slice "cv/roles" ) ).ByTitle }}
|
||||
<li><a href="{{ .RelPermalink }}"><h3>{{ .Title }}</h3></a> <p>({{ len (where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) }})</p></li>
|
||||
<li><a href="{{ .RelPermalink }}"><h2>{{ .Title }}</h2></a> <p>({{ len (where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) }})</p></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ if eq .Type "cv" }}
|
||||
<aside class="timeline__legend">
|
||||
<div>
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<div>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<br>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
</aside>
|
||||
{{ end }}
|
||||
|
@ -135,6 +131,7 @@
|
|||
{{ end }}
|
||||
|
||||
{{ define "main-body" }}
|
||||
<!-- TODO: Replace with check for 'cv/organsation' -->
|
||||
{{ if .IsDescendant ( .GetPage "/cv/organisations" ) }}
|
||||
{{ $titles := slice ( .Title | plainify ) }}
|
||||
{{ with .Sections }}
|
||||
|
@ -149,19 +146,16 @@
|
|||
|
||||
<section id="roles-timeline">
|
||||
<aside class="timeline__legend">
|
||||
<div>
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<label for="legend__past">Past</label>
|
||||
<div id="legend__past">
|
||||
<span><div class="colour-square colour-square--unpaid-past"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-past"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<div>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
<br>
|
||||
<label for="legend__current">Current</label>
|
||||
<div id="legend__current">
|
||||
<span><div class="colour-square colour-square--unpaid-current"></div> <p>Unpaid</p></span>
|
||||
<span><div class="colour-square colour-square--paid-current"></div> <p>Paid</p></span>
|
||||
</div>
|
||||
</aside>
|
||||
<div id="timeline" aria-label="Role Time" role="img">Javascript must be enabled to view this chart.</div>
|
||||
|
@ -213,7 +207,7 @@
|
|||
</article>
|
||||
{{ else if eq .Type "cv/organisations" . }}
|
||||
{{ with .GetPage "cv/organisations" }}
|
||||
{{ partial "cv/organisations/items-table.html" . }}
|
||||
{{ partial "items-table.html" . }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ partial "items-grid.html" . }}
|
||||
|
@ -225,10 +219,10 @@
|
|||
{{ if .IsDescendant ( .GetPage "/cv/organisations" ) }}
|
||||
<footer class="site-content__footer">
|
||||
<section id="hierarchy">
|
||||
<h3 class="subheading">Hierarchy</h3>
|
||||
<h2 class="subheading">Hierarchy</h2>
|
||||
{{ $.Scratch.Set "parents" ( slice ) }}
|
||||
{{ partial "cv/organisations/recursive-parents.html" (dict "c" . "g" $ ) }}
|
||||
{{- $parents := partial "cv/organisations/reverse-slice.html" ( $.Scratch.Get "parents" ) -}}
|
||||
{{- $parents := partial "reverse-slice.html" ( $.Scratch.Get "parents" ) -}}
|
||||
|
||||
{{- range $parents -}}<ul><li class="hierarchy-item hierarchy-item--parent"><a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a>{{- end -}}
|
||||
<ul><li class="hierarchy-item hierarchy-item--current">{{ .Title | safeHTML }}</li>
|
||||
|
|
|
@ -2,15 +2,12 @@
|
|||
|
||||
{{ define "header" }} <!-- null --> {{ end }}
|
||||
|
||||
{{ define "article-class" }} <!-- null --> {{ end }}
|
||||
|
||||
{{ define "main-body" }}
|
||||
<h1 class="page-title">
|
||||
{{- with .Site.Params.pre_nominals }}<span class="pre-nominals p-honorific-prefix">{{ . | safeHTML }}</span> {{ end -}}
|
||||
<span class="p-name">Ben Goldsworthy</span>
|
||||
{{- with .Site.Params.post_nominals }} <span class="post-nominals p-honorific-suffix">{{ . | safeHTML }}</span>{{ end -}}
|
||||
{{- with .Site.Params.pre_nominals }}<span class="pre-nominals">{{ . | safeHTML }}</span> {{ end -}}
|
||||
Ben Goldsworthy
|
||||
{{- with .Site.Params.post_nominals }} <span class="post-nominals">{{ . | safeHTML }}</span>{{ end -}}
|
||||
</h1>
|
||||
<p class="p-note" style="display: none;">{{ .Site.Params.description }}</p>
|
||||
|
||||
{{ range ( where .Pages "Type" "in" site.Params.mainSections ).ByTitle }}<a href="{{ .RelPermalink }}"><h2>{{ .Title }}</h2></a>{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
featured_image: {{ .Name }}
|
||||
resources:
|
||||
- name: {{ .Name }}
|
||||
alt:
|
||||
src: images/{{ .Name }}.*
|
||||
params:
|
||||
alt:
|
||||
attr:
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
{{- $itemType := default "CreativeWork" ( .Params.schemaType ) -}}
|
||||
|
||||
{{- if ( in $.Site.Data.itemtypes $itemType ) -}}
|
||||
{{- with .Params.href -}}
|
||||
<a href="{{ if eq . "asCite" }}{{ $.Params.cite }}{{ else }}{{ . }}{{ end }}">
|
||||
{{- end -}}
|
||||
<cite
|
||||
class="cite{{ with .Params.citeStyle }} cite--{{ . }}{{ end }}"
|
||||
itemscope
|
||||
itemprop="citation"
|
||||
itemtype="https://schema.org/{{- $itemType -}}"
|
||||
{{- if .Params.titleLang -}}
|
||||
lang="{{- .Params.titleLang -}}"
|
||||
title="{{- .Params.titleTr -}}"
|
||||
{{- end -}}>
|
||||
{{- with .Params.cite -}}
|
||||
<meta itemprop="url" content="{{ . }}">
|
||||
{{- end -}}
|
||||
<span itemprop="name">
|
||||
{{- if .Params.titleLang -}}
|
||||
<i lang="{{ .Params.titleLang }}" title="{{ .Params.titleTr }}">
|
||||
{{- end -}}
|
||||
{{- if .Params.shortTitle -}}
|
||||
{{- .Params.shortTitle | markdownify | safeHTML -}}
|
||||
{{- else -}}
|
||||
{{- .Params.title | markdownify | safeHTML -}}
|
||||
{{- end -}}
|
||||
{{- if .Params.titleLang -}}
|
||||
</i>
|
||||
{{- end -}}
|
||||
</span>{{- /**/ -}}
|
||||
</cite>
|
||||
{{- with .Params.href -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- warnf "Invalid Schema.org type value: %q (%q)" $itemType .Page.File.Path -}}
|
||||
{{- end -}}
|
|
@ -1,14 +1,12 @@
|
|||
{{ "<!--" | safeHTML }}
|
||||
{{ .Site.Title}} - {{ .Site.Params.tagline }}
|
||||
|
||||
This page was created by {{ .Site.Author.name }} <{{ .Site.Author.email }}>.
|
||||
The date of creation and last modification should be available within the page
|
||||
below.
|
||||
Page content written in {{ now.Format "2006" }} by {{ .Site.Author.name }} <{{ .Site.Author.email }}>
|
||||
|
||||
Unless stated otherwise, and to the extent possible under law, the author has
|
||||
dedicated all copyright and related and neighboring rights to this content to
|
||||
the public domain worldwide. This file is distributed without any warranty.
|
||||
To the extent possible under law, the author(s) have dedicated all copyright
|
||||
and related and neighboring rights to this software to the public domain
|
||||
worldwide. This software is distributed without any warranty.
|
||||
|
||||
See <http://creativecommons.org/publicdomain/zero/1.0/> for
|
||||
a copy of the CC0 Public Domain Dedication.
|
||||
You should have received a copy of the CC0 Public Domain Dedication along
|
||||
with this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
{{ "-->" | safeHTML }}
|
||||
|
|
8
layouts/partials/cv/organisations/foo.html
Normal file
8
layouts/partials/cv/organisations/foo.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!--. is .c-->
|
||||
<!--$ is .g-->
|
||||
|
||||
{{ $scratch := .g.Scratch }}
|
||||
{{ with ( where ( where .g.Site.Pages "Type" "organisations" ) "Params.parent" .g.File.ContentBaseName ) }}
|
||||
{{ $scratch.Add "children" ( slice . ) }}
|
||||
{{ partial "cv/organisations/recursive-children.html" (dict "c" . "g" $.g ) }}
|
||||
{{ end }}
|
|
@ -1,5 +1,5 @@
|
|||
{{ if gt ( len .content ) 4 }}
|
||||
<details id="{{ .section_title | anchorize }}" class="org-items row">
|
||||
<details id="posts" class="org-items row">
|
||||
<summary>
|
||||
<h2 class="subheading">{{ .section_title }} ({{ len .content }})</h2>
|
||||
<div class="index">
|
||||
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
</details>
|
||||
{{ else }}
|
||||
<div id="{{ .section_title | anchorize }}" class="org-items row">
|
||||
<div id="posts" class="org-items row">
|
||||
<h2 class="subheading">{{ .section_title }} ({{ len .content }})</h2>
|
||||
<div class="index">
|
||||
{{ range first 4 .content }}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<li class="hierarchy-item hierarchy-item--child"><a href="{{ .RelPermalink }}">{{ with .Params.markup_title }}{{ . | safeHTML }}{{ else }}{{ .Title | safeHTML }}{{ end }}</a>
|
||||
<li class="hierarchy-item hierarchy-item--child"><a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a>
|
||||
{{ range .Sections }}<ul>
|
||||
{{ partial "cv/organisations/recursive-children.html" . }}
|
||||
</ul>{{ end }}
|
||||
|
|
0
layouts/partials/footer.html
Normal file
0
layouts/partials/footer.html
Normal file
0
layouts/partials/head.html
Normal file
0
layouts/partials/head.html
Normal file
0
layouts/partials/header.html
Normal file
0
layouts/partials/header.html
Normal file
|
@ -1,8 +1,8 @@
|
|||
<header class="site-header h-card">
|
||||
<header class="site-header">
|
||||
{{ 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 icon" src="{{ .Site.Params.feedIcon }}"></a> ~</p>
|
||||
<h1 class="site-header__title" itemprop="name"><a href="{{ .Site.Home.RelPermalink }}">{{ .Site.Title }}</a></h1>
|
||||
<p class="site-header__tagline" itemprop="about">Views my own. Discussion ≠ endorsement. Do try this at home.</p>
|
||||
<p class="site-header__icons">~ <a href="mailto:{{ $.Site.Author.email }}" rel="me">📧</a> ~ <a href="{{ .Site.Params.codeURL }}">💻</a> ~ <a href="/{{ .Site.Params.keyfile }}">🔐</a> ~ <a href="/index.xml"><img class="feed-icon" src="/images/feed-icon.png"></a> ~</p>
|
||||
{{ partial "header/site-nav.html" . }}
|
||||
{{ end }}
|
||||
</header>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<nav class="site-header__nav">
|
||||
<ul>
|
||||
{{ range ( where .Site.Sections.ByTitle "Type" "in" site.Params.mainSections ) }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a></li>
|
||||
<a href="{{ .RelPermalink }}"><li>{{ .Title | safeHTML }}</li></a>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<a id="{{ .Title | urlize }}" class="h-entry u-url link--tile" href="{{ .RelPermalink }}" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
|
||||
<a id="{{ .Slug }}" class="link--tile" href="{{ .RelPermalink }}" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
|
||||
<article class="item-tile lazy {{- with .Params.site }} item-tile--{{ . }}{{ end -}}"
|
||||
{{ if .Params.featured_image }}
|
||||
{{ with .Resources.GetMatch .Params.featured_image }}
|
||||
{{ if eq .MediaType.SubType "svg" }}
|
||||
style="background-image: url({{ .RelPermalink }})"
|
||||
{{ else }}
|
||||
{{ with .Resize "1000x webp" }}
|
||||
{{ with .Resize "2000x webp" }}
|
||||
style="background-image: url({{ .RelPermalink }})"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@ -14,43 +14,22 @@
|
|||
{{ end }}
|
||||
{{ end }}
|
||||
>
|
||||
{{ if .Params.featured_image -}}
|
||||
<img class="u-photo" style="display: none;" src="
|
||||
{{- with .Resources.GetMatch .Params.featured_image -}}
|
||||
{{- if eq .MediaType.SubType "svg" -}}
|
||||
{{ .RelPermalink }}
|
||||
{{- else -}}
|
||||
{{- with .Resize "1000x webp" -}}
|
||||
{{- .RelPermalink -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{ .Params.featured_image }}
|
||||
{{ end }}
|
||||
" alt="
|
||||
{{- with .Resources.GetMatch .Params.featured_image -}}
|
||||
{{- .Params.alt -}}
|
||||
{{- end -}}
|
||||
"
|
||||
/>
|
||||
{{- end }}
|
||||
<header class="item-tile__header">
|
||||
{{ if ( or .Params.series .Params.published_in ) }}
|
||||
<span class="item-tile__banner item-tile__banner--{{ if .Params.series }}series{{ else if .Params.published_in }}published-in{{ end}}">
|
||||
{{- if .Params.series -}}
|
||||
{{ .Params.series | safeHTML }}
|
||||
{{- else if .Params.published_in -}}
|
||||
{{ .Params.published_in | safeHTML }}
|
||||
{{- end -}}
|
||||
</span>
|
||||
{{ end }}
|
||||
<h2 class="p-name item-tile__title{{ if gt ( len ( .Title | plainify ) ) 40 }} item-tile__title--long{{ end }}" itemprop="name">
|
||||
{{ .Title | safeHTML }}
|
||||
</h2>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="item-tile__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
<p style="display: none;">Published: <time class="dt-published" itemprop="datePublished" datetime="{{ .PublishDate | time.Format "2006-01-02T15:04:05-07:00" }}">{{ .PublishDate | time.Format "2006-01-02T15:04:05-07:00"}}</time></p>
|
||||
</header>
|
||||
</article>
|
||||
<header class="item-tile__header">
|
||||
{{ if ( or .Params.series .Params.published_in ) }}
|
||||
<span class="item-tile__banner item-tile__banner--{{ if .Params.series }}series{{ else if .Params.published_in }}published-in{{ end}}">
|
||||
{{- if .Params.series -}}
|
||||
{{ .Params.series | safeHTML }}
|
||||
{{- else if .Params.published_in -}}
|
||||
{{ .Params.published_in | safeHTML }}
|
||||
{{- end -}}
|
||||
</span>
|
||||
{{ end }}
|
||||
<h1 class="item-tile__title{{ if gt ( len ( .Title | plainify ) ) 40 }} item-tile__title--long{{ end }}" itemprop="name">
|
||||
<span role="text">{{ .Title | safeHTML }}</span>
|
||||
</h1>
|
||||
{{ with .Params.subtitle }}
|
||||
<p class="item-tile__subtitle">{{ . | safeHTML }}</p>
|
||||
{{ end }}
|
||||
</header>
|
||||
</article>
|
||||
</a>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<section class="site-content__body">
|
||||
{{ range ( ( where .Pages "Draft" false ).GroupByPublishDate "2006" ) }}
|
||||
{{ if ( not ( eq .Key "0001" ) ) }}
|
||||
{{ partial "header-tile.html" . }}
|
||||
{{ range .Pages }}
|
||||
{{ partial "item-tile.html" . }}
|
||||
{{ end }}
|
||||
{{ partial "header-tile.html" . }}
|
||||
{{ range .Pages }}
|
||||
{{ partial "item-tile.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
|
|
@ -1,58 +1,61 @@
|
|||
{{ if fileExists ( path.Join $.Page.File.Dir "comments.md" ) }}
|
||||
<!--<section id="comments">
|
||||
<h2 class="subheading subheading--comments" id="comments">Comments</h2>
|
||||
<ol>
|
||||
{{ $file := path.Join $.Page.File.Dir "comments.md" | readFile }}
|
||||
{{ $file | .RenderString }}
|
||||
</ol>
|
||||
</section>-->
|
||||
{{ end }}
|
||||
|
||||
<footer class="site-content__footer">
|
||||
<h2>Meta</h2>
|
||||
<h1>Meta</h1>
|
||||
|
||||
{{- if .GetTerms "categories" -}}
|
||||
<section id="post-categories" class="article-footer__categories" aria-labelledby="post-categories-title" itemprop="articleSection">
|
||||
<h3 id="post-categories-title">Categories</h3>
|
||||
<section id="post-categories" class="article-footer__categories" aria-labelledby="post-categories-title">
|
||||
<h2 id="post-categories-title">Categories</h2>
|
||||
<ul>
|
||||
{{- range (.GetTerms "categories") -}}
|
||||
<li class="p-category"><a href="{{ .RelPermalink }}">{{ .LinkTitle | safeHTML }}</a></li>
|
||||
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle | safeHTML }}</a></li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- with .Params.internal_links -}}
|
||||
<section class="article-footer__links">
|
||||
<h2>Internal Links</h2>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a href="{{ .link }}">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a href="{{ . }}">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- with .Params.external_links -}}
|
||||
<section class="article-footer__links">
|
||||
<h2>External Links</h2>
|
||||
<ul>
|
||||
{{- range . -}}
|
||||
{{ if eq ( printf "%T" . ) "map[string]interface {}" }}
|
||||
<li><a href="{{ .link }}" rel="noopener noreferrer" target="_blank">{{ .title | safeHTML }}</a></li>
|
||||
{{ else }}
|
||||
<li><a href="{{ . }}" rel="noopener noreferrer" target="_blank">Link</a></li>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- if .GetTerms "areas" -}}
|
||||
<section class="article-footer__links" itemprop="articleSection">
|
||||
<h3 id="item-areas-title">Areas</h3>
|
||||
<section class="article-footer__links">
|
||||
<h2 id="item-areas-title">Areas</h2>
|
||||
<ul>
|
||||
{{- range ( .GetTerms "areas" ).ByTitle -}}
|
||||
<li class="p-category"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- if .GetTerms "skills" -}}
|
||||
<section class="article-footer__links" itemprop="articleSection">
|
||||
<h3 id="item-skills-title">Skills</h3>
|
||||
<ul>
|
||||
{{- .Scratch.Set "i" 0 -}}
|
||||
{{- range ( .GetTerms "skills" ).ByTitle -}}
|
||||
{{- if hasPrefix .LinkTitle "CIISec/" -}}
|
||||
<li class="p-category"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a> <span class="level">{{ index $.Params.skills_ciisec_levels ( $.Scratch.Get "i" ) }}</span></li>
|
||||
{{- $.Scratch.Add "i" 1 -}}
|
||||
{{- else -}}
|
||||
<li class="p-category"><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||
{{- end -}}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- if .GetTerms "organisations" -}}
|
||||
<section id="post-organisations" class="article-footer__organisations" aria-labelledby="post-organisations-title" itemprop="articleSection">
|
||||
<h3 id="post-organisations-title">Organisations</h3>
|
||||
<section id="post-organisations" class="article-footer__organisations" aria-labelledby="post-organisations-title">
|
||||
<h2 id="post-organisations-title">Organisations</h2>
|
||||
<ul>
|
||||
{{ $all_organisations := partialCached "get_all_organisations.html" . }}
|
||||
<!-- TODO: Replace with hierarchy partial -->
|
||||
|
@ -72,22 +75,17 @@
|
|||
|
||||
{{- if .GetTerms "locations" -}}
|
||||
<section id="post-locations" class="article-footer__locations" aria-labelledby="post-locations-title">
|
||||
<h3 id="post-locations-title">Locations</h3>
|
||||
<div id="map" style="width: 100%; height: 500px; margin: 0; display: block;"></div>
|
||||
<ul style="display: none">
|
||||
{{- range ( .GetTerms "locations" ).ByTitle -}}
|
||||
<li class="p-location"><a href="{{ .RelPermalink }}">{{ .LinkTitle | safeHTML }}</a></li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
<h2 id="post-locations-title">Locations</h2>
|
||||
<div id="mapdiv" style="width: 100%; height: 500px; margin: 0; display: block;"></div>
|
||||
</section>
|
||||
{{- end -}}
|
||||
|
||||
{{- if .GetTerms "tags" -}}
|
||||
<section id="post-tags" class="article-footer__tags" aria-labelledby="post-tags-title">
|
||||
<h3 id="post-tags-title">Tags</h3>
|
||||
<h2 id="post-tags-title">Tags</h2>
|
||||
<ul>
|
||||
{{- range ( .GetTerms "tags" ).ByTitle -}}
|
||||
<li class="p-category"><a href="{{ .RelPermalink }}">{{ .LinkTitle | safeHTML }}</a></li>
|
||||
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle | safeHTML }}</a></li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</section>
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<ul class="minor-links__years">
|
||||
{{ range ( ( where .Pages "Draft" false ).GroupByDate "2006" ) }}
|
||||
{{ if ( not ( eq .Key "0001" ) ) }}
|
||||
<li><a href="#items-{{ .Key }}">{{ .Key }}</a></li>
|
||||
{{ end }}
|
||||
<li><a href="#items-{{ .Key }}">{{ .Key }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{{ .Page.Title | plainify }} | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--section layouts-portfolio-section{{ end }}
|
||||
{{ define "main-class" }}--section{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
<script>
|
||||
|
@ -61,13 +61,13 @@
|
|||
|
||||
{{ define "main-header" }}
|
||||
<header class="site-content__header">
|
||||
<h2 class="page-title">{{ .Title | safeHTML }}.
|
||||
<h1 class="page-title">{{ .Title | safeHTML }}.
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<a href="{{ .RelPermalink }}">
|
||||
<img class="feed-icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
<img class="feed-icon" src="/images/feed-icon.png">
|
||||
</a>
|
||||
{{ end }}
|
||||
</h2>
|
||||
</h1>
|
||||
{{ .Content }}
|
||||
|
||||
{{ if ne .Type "portfolio" }}
|
||||
|
@ -84,7 +84,7 @@
|
|||
<ul class="site-content__sections-list">
|
||||
{{ range .Sections.ByWeight }}
|
||||
{{ if eq .Weight 10 }}<hr>{{ end }}
|
||||
<li><a href="{{ .RelPermalink }}"><h3>{{ .Title }}</h3></a> <p>({{ len .Pages }})</p></li>
|
||||
<li><a href="{{ .RelPermalink }}"><h2>{{ .Title }}</h2></a> <p>({{ len .Pages }})</p></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</article>
|
||||
|
|
|
@ -1,25 +1,2 @@
|
|||
# Internet Archive
|
||||
# If I ever decomission this site, I will archive it first. Until then, no
|
||||
# archiving.
|
||||
User-agent: ia_archiver
|
||||
Disallow: /
|
||||
|
||||
# Common Crawl
|
||||
User-agent: CCBot
|
||||
Disallow: /
|
||||
|
||||
# OpenAI
|
||||
User-agent: ChatGPT-User
|
||||
Disallow: /
|
||||
|
||||
# Turn It In Plagiarism Checker
|
||||
User-Agent: TurnitinBot
|
||||
Disallow: /
|
||||
|
||||
# Name Protect
|
||||
User-Agent: NPBot
|
||||
Disallow: /
|
||||
|
||||
# Sly Search
|
||||
User-Agent: SlySearch
|
||||
Disallow: /
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
{{ .Type | singularize }}: ‘{{ .Page.Title | plainify }}’ | {{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-class" }}--list layouts-series-list{{ end}}
|
||||
{{ define "main-class" }}--list{{ end}}
|
||||
|
||||
{{ define "main-header" }}
|
||||
<header class="site-content__header">
|
||||
|
||||
<h2 class="page-title">
|
||||
<h1 class="page-title">
|
||||
{{- if eq .Title "Series" -}}
|
||||
{{- .Title | safeHTML }}’
|
||||
{{- else -}}
|
||||
|
@ -18,7 +18,7 @@
|
|||
<img class="feed-icon" src="{{ $.Site.Params.feedIcon }}">
|
||||
</a>
|
||||
{{ end }}
|
||||
</h2>
|
||||
</h1>
|
||||
{{ .Content }}
|
||||
</header>
|
||||
{{ end }}
|
||||
|
|
|
@ -1,57 +1,32 @@
|
|||
{{- /**/ -}}
|
||||
|
||||
{{- $abbr := .Get 0 -}}
|
||||
{{- $mode := default "shortTitle" ( .Get 1 ) -}}
|
||||
|
||||
{{- with ( index $.Site.Data.abbreviations $abbr ) -}}
|
||||
<!-- Short titles (e.g. 'FBB') -->
|
||||
{{- if ( or ( eq $mode "shortTitle" ) ( eq $mode "shortTitlePl" ) ) -}}
|
||||
<abbr
|
||||
class="abbr"
|
||||
title="
|
||||
{{- if ( eq $mode "shortTitle" ) -}}
|
||||
{{- .longTitle -}}
|
||||
{{- else if ( eq $mode "shortTitlePl" ) -}}
|
||||
{{- with .longTitlePl -}}{{- . -}}{{- else -}}{{- .longTitle -}}s{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if .lang }} [{{ .longTitleTrans }}]{{- end -}}
|
||||
"
|
||||
{{- with .lang }} lang="{{ . }}"{{- end -}}
|
||||
>
|
||||
{{- if ( eq $mode "shortTitle" ) -}}
|
||||
{{- .shortTitle | safeHTML -}}
|
||||
{{- else if ( eq $mode "shortTitlePl" ) -}}
|
||||
{{- 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" ) -}}
|
||||
{{- if .lang -}}<i lang="{{- .lang -}}" title="{{- $.longTitleTrans | safeHTML -}}">{{- end -}}
|
||||
{{- .longTitle | safeHTML -}}
|
||||
{{- if .lang -}}</i>{{- end -}}
|
||||
{{- else if ( eq $mode "longTitlePl" ) -}}
|
||||
{{- if .lang -}}<i lang="{{- .lang -}}" title="{{- with .longTitleTransPl -}}{{- . | safeHTML -}}{{- else -}}{{- .longTitleTrans | safeHTML -}}s{{- end -}}">{{- end -}}
|
||||
{{- 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" ) -}}
|
||||
{{- if .lang -}}<i lang="{{- .lang -}}" title="{{- .longTitleTrans | safeHTML -}}">{{- end -}}
|
||||
{{- .longTitle | safeHTML -}}
|
||||
{{- if .lang -}}</i>{{- end -}}
|
||||
(<abbr{{- with .lang }} lang="{{ . }}"{{- end -}}>{{- .shortTitle | safeHTML -}}</abbr>)
|
||||
{{- else if ( eq $mode "fullTitlePl" ) -}}
|
||||
{{- if .lang -}}<i lang="{{- .lang -}}" title="{{- with .longTitleTransPl -}}{{- . | safeHTML -}}{{- else -}}{{- .longTitleTrans | safeHTML -}}s{{- end -}}">{{- end -}}
|
||||
{{- with .longTitlePl -}}{{- . | safeHTML -}}{{- else -}}{{- .longTitle | safeHTML -}}s{{- end -}}
|
||||
{{- if .lang -}}</i>{{- end -}}
|
||||
(<abbr{{- with .lang }} lang="{{ . }}"{{- end -}}>{{- with .shortTitlePl -}}{{- . | safeHTML -}}{{- else -}}{{- .shortTitle | safeHTML -}}s{{- end -}}</abbr>){{- /**/ -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- errorf "No definition found for abbreviation '%q'" $abbr -}}
|
||||
{{- end -}}
|
||||
{{- /**/ -}}
|
||||
{{ with where ( $.Site.Data.abbreviations .Params.abbr ) }}
|
||||
{{ if ( or ( eq .Params.mode "shortTitle" ) ( eq .Params.mode "shortTitlePl" ) ) }}
|
||||
<abbr class="abbr" title="
|
||||
{{- if ( eq .Params.mode "shortTitle" ) }}
|
||||
{{ .shortTitle }}
|
||||
{{ else if ( eq .Params.mode "shortTitlePl" ) }}
|
||||
{{ if .shortTitlePl }}{{ .shortTitlePl }}{{ else }}{{ .shortTitle }}s{{ end }}
|
||||
{{ end -}}
|
||||
">
|
||||
{{- if ( eq .Params.mode "shortTitle" ) }}
|
||||
{{ .shortTitle }}
|
||||
{{ else if ( eq .Params.mode "shortTitlePl" ) }}
|
||||
{{ if .shortTitlePl }}{{ .shortTitlePl }}{{ else }}{{ .shortTitle }}s{{ end }}
|
||||
{{ end -}}
|
||||
</abbr>
|
||||
{{ else if ( or ( eq .Params.mode "longtitle" ) ( eq .Params.mode "longTitlePl" ) ) }}
|
||||
{{- if ( eq .Params.mode "longTitle" ) }}
|
||||
{{ .longTitle }}
|
||||
{{ else if ( eq .Params.mode "longTitlePl" ) }}
|
||||
{{ if .longTitlePl }}{{ .longTitlePl }}{{ else }}{{ .longTitle }}s{{ end }}
|
||||
{{ end -}}
|
||||
{{ else if ( or ( eq .Params.mode "fullTitle" ) ( eq .Params.mode "fullTitlePl" ) ) }}
|
||||
{{ if ( eq .Params.mode "fullTitle" ) }}
|
||||
{{ .longTitle }} (<abbr>{{ .short }}</abbr>)
|
||||
{{ else if ( eq .Params.mode "fullTitlePl" ) }}
|
||||
{{- if .longTitlePl }}{{ .longTitlePl }}{{ else }}{{ .longTitle }}s{{ end -}}
|
||||
(<abbr>{{ if .shortPl }}{{ .shortPl }}{{ else }}{{ .short }}s{{ end }}</abbr>)
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ errorf "No definition found for abbreviation '%q'" .Params.abbr }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
{{- if ( not .Params ) -}}
|
||||
{{- errorf "No params provided for blockquote" -}}
|
||||
{{- end -}}
|
||||
|
||||
<figure
|
||||
class="figure--blockquote blockquote{{- if .Params.style }} blockquote--{{- .Params.style -}}{{- end -}}"
|
||||
itemscope
|
||||
itemtype="Quotation"
|
||||
>
|
||||
<blockquote
|
||||
class="blockquote__body"
|
||||
{{- if .Params.cite }} cite="{{ .Params.cite }}"{{- end -}}
|
||||
>
|
||||
{{- .Inner | .Page.RenderString -}}
|
||||
</blockquote>
|
||||
<figcaption class="blockquote__caption">
|
||||
{{- if .Params.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" . -}}
|
||||
{{- if .Params.titleSeries }} (
|
||||
{{- .Scratch.SetInMap "Params" "title" .Params.titleSeries -}}
|
||||
{{- .Scratch.SetInMap "Params" "titleLang" .Params.titleSeriesLang -}}
|
||||
{{- .Scratch.SetInMap "Params" "titleTr" .Params.titleSeriesTr -}}
|
||||
{{- .Scratch.SetInMap "Params" "cite" .Params.citeSeries -}}
|
||||
{{- .Scratch.SetInMap "Params" "schemaType" .Params.schemaTypeSeries -}}
|
||||
{{- .Scratch.SetInMap "parentCite" "Params" ( .Scratch.Get "Params" ) -}}
|
||||
{{- partial "cite.html" ( .Scratch.Get "parentCite" ) -}}
|
||||
{{- with .Params.numberSeries }}, {{ . | safeHTML -}}{{- end -}}
|
||||
){{- end -}}</span>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</figcaption>
|
||||
</figure>
|
|
@ -1 +1,16 @@
|
|||
{{- /**/ -}}{{- partial "cite.html" . -}}{{- /**/ -}}
|
||||
{{ if .Params.href }}
|
||||
<a href="{{ if eq .Params.href "asCite" }}{{ .Params.cite }}{{ else }}{{ .Params.href }}{{end}}" target="_blank" rel="noopener noreferrer">
|
||||
<cite class="cite {{ with .Params.citeStyle }}cite--{{ . }}{{ end }}"
|
||||
{{ with .Params.cite }}cite="{{ . }}"{{ end }}
|
||||
itemscope
|
||||
itemtype="https://schema.org/
|
||||
{{- with .Params.schemaType -}}
|
||||
{{- . -}}
|
||||
{{- else -}}
|
||||
CreativeWork
|
||||
{{- end -}}"
|
||||
>
|
||||
{{- .Params.title -}}
|
||||
</cite>
|
||||
</a>
|
||||
{{ end }}
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<li class="comment">
|
||||
<article class="comment__body">
|
||||
<header class="comment__header">
|
||||
<h3 class="comment__author">{{ .Params.author }}</h3>
|
||||
</header>
|
||||
|
||||
{{ .Inner | markdownify }}
|
||||
|
||||
<footer class="comment__footer">
|
||||
{{ with .Params.source }}<p class="comment__source">Source: {{ . }}</p>{{ end }}
|
||||
</footer>
|
||||
</article>
|
||||
</li>
|
|
@ -3,12 +3,12 @@
|
|||
{{- end -}}
|
||||
|
||||
{{ $src := $.Page.Resources.GetMatch (.Get "src") }}
|
||||
{{ if ( and ( not $src ) ( not ( .Get "chart-id" ) ) ) }}
|
||||
{{- errorf "No Page Resource found for src '%q' (%q)" ( .Get "src" ) .Page.File.Path -}}
|
||||
{{ if ( not $src ) }}
|
||||
{{- errorf "No Page Resource found for src '%v' for post '%v'" ( .Get "src" ) $.File.Path -}}
|
||||
{{ end }}
|
||||
{{ $linkedResource := $.Page.Resources.GetMatch (.Get "link") }}
|
||||
|
||||
<figure class="article__figure figure{{ with .Get "class" }} {{ . }}{{ end }}">
|
||||
<figure class="article__figure{{ with .Get "class" }} {{ . }}{{ end }}">
|
||||
{{- with .Get "chart-id" -}}
|
||||
<canvas class="figure__chart" id="{{ . }}">
|
||||
You must enable Javascript to view this chart.
|
||||
|
@ -18,57 +18,56 @@
|
|||
{{- if $linkedResource }}
|
||||
<a href="{{ $linkedResource.RelPermalink }}"{{ with .Get "rel" }} rel="{{ . }}"{{ end }}>
|
||||
{{ else }}
|
||||
<a href="{{ .Get "link" }}">
|
||||
<a
|
||||
href="{{ .Get "link" }}"
|
||||
{{- with .Get "target" -}}
|
||||
target="{{ . }}"
|
||||
{{- else -}}
|
||||
{{ warnf "No target defined for non-page resource link %q" ( .Get "link" ) -}}
|
||||
{{- end -}}
|
||||
{{- with .Get "rel" -}}
|
||||
rel="{{ . }}"
|
||||
{{- else -}}
|
||||
{{- warnf "No rel defined for non-page resource link %q" ( .Get "link" ) -}}
|
||||
{{- end -}}
|
||||
>
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq $src.ResourceType "image" -}}
|
||||
<picture class="figure__picture"
|
||||
itemprop="image">
|
||||
<img class="u-photo figure__image"
|
||||
<picture class="figure__picture">
|
||||
<img class="figure__image"
|
||||
{{ if ( or ( eq $src.MediaType.SubType "svg" ) ( eq $src.MediaType.SubType "gif" ) ) }}
|
||||
src="{{ $src.RelPermalink }}"
|
||||
{{ else }}
|
||||
{{ with $src.Resize "1200x webp" }}
|
||||
{{ with $src.Resize "1500x webp" }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ end }}
|
||||
width="{{ $src.Width }}"
|
||||
height="{{ $src.Height }}"
|
||||
{{ end }}
|
||||
{{- with $src.Params.alt }}
|
||||
alt="{{ . }}"
|
||||
{{- if or ($src.Params.alt) (.Get "caption") }}
|
||||
alt="{{ with $src.Params.alt }}{{ . }}{{ else }}{{ .Get "caption" | markdownify | plainify }}{{ end }}"
|
||||
{{- end -}}
|
||||
{{- with $src.Params.title }} title="{{ . }}" {{ end -}}
|
||||
loading="lazy"
|
||||
role="img"
|
||||
{{- with $src.Params.title }} title="{{ . }}"{{ end -}}
|
||||
/>
|
||||
</picture>
|
||||
{{- else if eq $src.ResourceType "video" -}}
|
||||
{{- if eq $src.MediaType "video/ogg" -}}
|
||||
<audio class="u-audio figure__audio" itemprop="audio" controls>
|
||||
<audio class="figure__audio" controls>
|
||||
<source src="{{ $src.RelPermalink }}" type="{{ $src.MediaType }}" />
|
||||
<p>Your browser doesn't support embedded audio, <a href="{{ $src.RelPermalink }}">view the audio here</a>.</p>
|
||||
<p>Your browser doesn't support embedded audio, but you can view the audio <a href="{{ $src.RelPermalink }}">here</a>.</p>
|
||||
</audio>
|
||||
{{- else -}}
|
||||
<video class="u-video figure__video"
|
||||
<video class="figure__video"
|
||||
controls
|
||||
src="{{ $src.RelPermalink }}"
|
||||
poster="
|
||||
{{- if $src.Params.poster -}}
|
||||
{{- $posterSrc := $.Page.Resources.GetMatch ( .Get $src.Params.poster ) -}}
|
||||
{{- with $posterSrc.Resize "1200x webp" -}}
|
||||
{{- .RelPermalink -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- warnf "No poster defined for resource %q (%q)" $src.RelPermalink .Page.File.Path -}}
|
||||
{{- end -}}
|
||||
"
|
||||
itemprop="video"
|
||||
poster="{{ if $src.Params.poster }}{{ .Get $src.Params.poster }}{{ else }}{{ warnf "No poster defined for resource %q" $src.RelPermalink }}{{ end }}"
|
||||
>
|
||||
Your browser doesn't support embedded video, <a href="{{ $src.RelPermalink }}">view the video here</a>.
|
||||
Your browser doesn't support embedded video, but you can view the video <a href="{{ $src.RelPermalink }}">here</a>.
|
||||
</video>
|
||||
{{- end -}}
|
||||
{{- else if ( or ( ne $src.ResourceType "image" ) ( ne $src.ResourceType "video" ) ) -}}
|
||||
{{- else if or ( ne $src.ResourceType "image" ) ( ne $src.ResourceType "video" ) -}}
|
||||
{{- errorf "No handling for resource of type %q" $src.ResourceType -}}
|
||||
{{- end -}}
|
||||
{{- if .Get "link" }}</a>{{ end -}}
|
||||
|
@ -78,16 +77,20 @@
|
|||
<figcaption class="figure__caption{{ if not ( or ( .Get "caption" ) ( .Get "title" ) ) }} figure__caption--no-height{{ end }}">
|
||||
{{- with $src -}}
|
||||
{{ if .Params.attrlink -}}
|
||||
<a class="figcaption__attrlink" href="{{ .Params.attrlink }}">
|
||||
<a class="figcaption__attrlink" href="{{ .Params.attrlink }}"
|
||||
{{- with .Params.attrtarget }} target="{{ . }}"{{ end -}}
|
||||
{{- with .Params.attrrel }} rel="{{ . }}"{{ end -}}
|
||||
>
|
||||
{{- end -}}
|
||||
{{- if .Params.attr -}}<p class="figcaption__attr">{{ .Params.attr | safeHTML }}{{ with .Params.attrlicence }} <span class="figcaption__licence">{{ . | safeHTML }}</span>{{ end }}</p>{{- end -}}
|
||||
{{- if .Params.attrlink -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- with .Params.title -}}<h4 class="figcaption__title">{{ . }}</h4>{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with .Get "title" -}}<h4 class="figcaption__title">{{ . | markdownify | safeHTML }}</h4>{{- end -}}
|
||||
{{- with .Get "title" -}}<h4 class="figcaption__title">{{ . }}</h4>{{- end -}}
|
||||
{{- with .Get "caption" -}}
|
||||
<p class="figcaption__caption">{{ . | markdownify | safeHTML }}</p>
|
||||
<p class="figcaption__caption">{{ . | markdownify }}</p>
|
||||
{{- end -}}
|
||||
</figcaption>
|
||||
{{- end -}}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<div class="box">
|
||||
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
|
||||
<div class="img" style="background-image: url('{{ $linkURL }}');" >
|
||||
<img itemprop="thumbnail" loading="lazy" src="{{ $linkURL }}" alt="{{ $caption }}" /><!-- <img> hidden if in .gallery -->
|
||||
<img itemprop="thumbnail" src="{{ $linkURL }}" alt="{{ $caption }}" /><!-- <img> hidden if in .gallery -->
|
||||
</div>
|
||||
<a href="{{ $linkURL }}" itemprop="contentUrl"></a><!-- put <a> last so it is stacked on top -->
|
||||
</figure>
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
<figure class="figure--gallery gallery" itemscope itemtype="http://schema.org/ImageGallery">
|
||||
{{- if or ( .Get "caption" ) ( .Get "title" ) -}}
|
||||
<figcaption class="figure__caption gallery__caption{{ if not ( or ( .Get "caption" ) ( .Get "title" ) ) }} figure__caption--no-height{{ end }}">
|
||||
{{- with .Get "title" -}}<h4 class="figcaption__title">{{ . | markdownify | safeHTML }}</h4>{{- end -}}
|
||||
{{- with .Get "caption" -}}
|
||||
<p class="figcaption__caption">{{ . | markdownify | safeHTML }}</p>
|
||||
{{- end -}}
|
||||
</figcaption>
|
||||
{{- end -}}
|
||||
|
||||
{{- with (.Get "dir") -}}
|
||||
<!-- If a directory was specified, generate figures for all of the images in the directory -->
|
||||
{{- $images := $.Page.Resources.Match ( print . "/*" ) }}
|
||||
{{- range $images -}}
|
||||
{{- $caption := .Name | replaceRE "\\..*" "" | humanize }}<!-- humanized filename without extension -->
|
||||
{{- $linkURL := print $.Page.Permalink ($.Get "dir") "/" .Name | absURL }}<!-- absolute URL to hi-res image -->
|
||||
<figure class="figure gallery__figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
|
||||
<a href="{{ .RelPermalink }}" itemprop="contentUrl">
|
||||
<picture class="figure__picture"
|
||||
itemprop="image">
|
||||
<img itemprop="thumbnail"
|
||||
class="u-photo gallery__thumbnail"
|
||||
{{ if ( or ( eq .MediaType.SubType "svg" ) ( eq .MediaType.SubType "gif" ) ) }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
{{ with .Resize "600x webp" }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ end }}
|
||||
width="{{ .Width }}"
|
||||
height="{{ .Height }}"
|
||||
{{ end }}
|
||||
{{- with .Params.alt }}
|
||||
alt="{{ . }}"
|
||||
{{- end -}}
|
||||
{{- with .Params.title }} title="{{ . }}" {{ end -}}
|
||||
loading="lazy"
|
||||
>
|
||||
</picture>
|
||||
</a>
|
||||
{{- if or ( .Params.title ) ( .Params.attr ) -}}
|
||||
<figcaption class="figure__caption{{ if not .Params.title }} figure__caption--no-height{{ end }}">
|
||||
{{ if .Params.attrlink -}}
|
||||
<a class="figcaption__attrlink" href="{{ .Params.attrlink }}"
|
||||
{{- with .Params.attrtarget }} target="{{ . }}"{{ end -}}
|
||||
{{- with .Params.attrrel }} rel="{{ . }}"{{ end -}}
|
||||
>
|
||||
{{- end -}}
|
||||
{{- if .Params.attr -}}<p class="figcaption__attr">{{ .Params.attr | safeHTML }}{{ with .Params.attrlicence }} <span class="figcaption__licence">{{ . | safeHTML }}</span>{{ end }}</p>{{- end -}}
|
||||
{{- if .Params.attrlink -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- if .Params.href -}}
|
||||
<a href="{{- if ( eq .Params.href "asCite" ) -}}{{ .Params.cite }}{{- else -}}{{ .Params.href }}{{- end -}}">
|
||||
{{- end -}}
|
||||
{{- if .Params.title -}}
|
||||
<h5 class="figcaption__title">
|
||||
{{- if .Params.titleLang -}}
|
||||
<i lang="{{ .Params.titleLang }}" title="{{ .Params.titleTr }}">
|
||||
{{- end -}}
|
||||
{{ .Params.title | safeHTML }}
|
||||
{{- if .Params.titleLang -}}
|
||||
</i>
|
||||
{{- end -}}
|
||||
</h5>
|
||||
{{- else -}}
|
||||
{{- with .Params.href -}}
|
||||
<p class="figcaption__title">Link</p>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if .Params.href -}}
|
||||
</a>
|
||||
{{- end -}}
|
||||
</figcaption>
|
||||
{{- end -}}
|
||||
</figure>
|
||||
{{- end }}
|
||||
{{- else -}}
|
||||
<!-- If no directory was specified, include any figure shortcodes called within the gallery -->
|
||||
{{ .Inner }}
|
||||
{{- end }}
|
||||
</figure>
|
|
@ -1,4 +1,4 @@
|
|||
{{- $resource := .Page.Resources.GetMatch ($.Get 0) -}}
|
||||
{{- with $resource -}}
|
||||
{{- $resource.RelPermalink -}}
|
||||
{{- end -}}
|
||||
{{ $resource := .Page.Resources.GetMatch ($.Get 0) }}
|
||||
{{ with $resource }}
|
||||
{{ $resource.RelPermalink }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{{- /**/ -}}
|
||||
<q
|
||||
itemscope
|
||||
itemtype="Quotation"
|
||||
{{- if .Params -}}{{- with .Params.cite }} cite="{{ . }}"{{- end -}}{{- if .Params.lang }} lang="{{ .Params.lang }}" title="{{ .Params.trans }}"{{- end -}}{{- end -}}>
|
||||
{{- with .Params -}}{{- with .cite -}}<meta itemprop="isBasedOn" content="{{ . }}">{{- end -}}{{- end -}}
|
||||
{{- .Inner | .Page.RenderString -}}
|
||||
</q>
|
||||
{{- /**/ -}}
|
Loading…
Reference in a new issue