initial commit
|
@ -0,0 +1,3 @@
|
|||
[submodule "themes/zen"]
|
||||
path = themes/zen
|
||||
url = https://github.com/frjo/hugo-theme-zen.git
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: "{{ replace .TranslationBaseName "-" " " | humanize }}"
|
||||
slug:
|
||||
date: {{ .Date }}
|
||||
keywords:
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
categories:
|
||||
-
|
||||
tags:
|
||||
-
|
||||
-
|
||||
podcast:
|
||||
mp3: https://files.lorescape.xyz/0X-.mp3
|
||||
duration:
|
||||
image:
|
||||
src:
|
||||
alt:
|
||||
episode:
|
||||
season: 1
|
||||
---
|
||||
|
||||
|
||||
|
||||
<!--more-->
|
||||
|
||||
{{< audio src="https://files.lorescape.xyz/0X-.mp3">}}
|
|
@ -0,0 +1,87 @@
|
|||
baseurl: "https://lorescape.xyz/"
|
||||
title: "Lorescape"
|
||||
theme: "zen"
|
||||
enableEmoji: true
|
||||
languageCode: "en-US"
|
||||
author:
|
||||
name: "Vicky Zelda"
|
||||
|
||||
params:
|
||||
contact: "info@lorescape.xyz"
|
||||
copyright: "Original content is licensed [CC BY-NC](https://creativecommons.org/licenses/by-nc/4.0/)."
|
||||
|
||||
dateformat: "2006-01-02" # Set the date format, default to "2 January, 2006"
|
||||
description: "" # Set site description, used in meta tags and JSON-LD
|
||||
metadescription: ""
|
||||
favicon: "favicon.ico" # Relative path to favicon in json feed, no leading slash.
|
||||
feedlinks: true # Show feed links in the footer.
|
||||
footer: ""
|
||||
icon: "favicon-32x32.png" # Relative path to icon in json feed and JSON-LD, no leading slash.
|
||||
image: "images/logo.png" # Relative path to site image in JSON-LD, no leading slash.
|
||||
imageMaxWidth: "" # Max width for images added via figure shortcode.
|
||||
jquery: true # Add jQuery
|
||||
languageDir: "" # Set ltr or rtl, defaults to ltr.
|
||||
logo: false # Turn off the logo.
|
||||
mainSections: # The sections you want to have listed on the front page.
|
||||
- "" # Default to the section with most content if not set.
|
||||
- "" # Set to empty if no section should be listed.
|
||||
microUsername: "" # Your micro.blog username.
|
||||
mobileMenu: true # Turn on a mobile menu on small screens.
|
||||
piwikSiteId: # Matamo site id
|
||||
piwikTrackerUrl: "" # Matamo url, schemaless and no slash on end (example.org/matamo).
|
||||
poweredby: false # Show powered by hugo in footer
|
||||
realfavicongenerator: true # If full set of favicons, site manifest etc. exists, default false.
|
||||
safariPinnedColor: "#9D9DEF" # Hex color value, used in meta tags, default "#000000".
|
||||
searchLimit: 20 # Max number of search hits, default 20.
|
||||
sidebar: false # Show a sidebar to the right
|
||||
submitted: true # Show author and date information for a post.
|
||||
themeColor: "#9D9DEF" # Hex color value, used in meta tags, default "#ffffff".
|
||||
|
||||
podcast:
|
||||
title: # * Feed title, defaults to site title (iTunes).
|
||||
description: # * Feed description/summary, defaults to site description (iTunes).
|
||||
image: "images/logo.png" # * Feed image, place inside assets directory (iTunes).
|
||||
category:
|
||||
name: "Games & Hobbies" # * Feed category (iTunes).
|
||||
subcategories: ["Video games"] # Feed sub category (iTunes).
|
||||
explicit: false # Feed explicit settting, default to false (iTunes).
|
||||
author: "Vicky Zelda" # Feed author (iTunes).
|
||||
owner:
|
||||
name: "Vicky Zelda" # Feed owner name (iTunes).
|
||||
email: "info@lorescape.xyz" # Feed owner e-mail (iTunes).
|
||||
lang: # Feed language, defaults to site language (iTunes).
|
||||
block: no # Block the feed from iTunes, default to no (iTunes).
|
||||
complete: no # Set the feed as complete, defaults to no (iTunes).
|
||||
type: "episodic" # Podcast type, defaults to episodic (iTunes).
|
||||
newfeed: # Are you moving? Set the new feed url here (iTunes).
|
||||
cdn: "" # CDN url, no slash on end (https://cdn.example.org).
|
||||
preload: "metadata" # Set on the HTML5 audio tag, defaults to "metadata".
|
||||
|
||||
menu:
|
||||
main:
|
||||
- Name: "Home"
|
||||
Identifier: "home"
|
||||
Weight: -100
|
||||
URL: "/"
|
||||
- Name: "Series"
|
||||
Identifier: "series"
|
||||
Weight: -100
|
||||
URL: "/categories/"
|
||||
- Name: "Crypt of the Necrodancer"
|
||||
Identifier: "necrodancer"
|
||||
Parent: "series"
|
||||
URL: "/categories/crypt-of-the-necrodancer/"
|
||||
Weight: 1
|
||||
- Name: "Meta/Personal Stuff"
|
||||
Identifier: "meta"
|
||||
Parent: "series"
|
||||
URL: "/categories/meta/"
|
||||
Weight: 2
|
||||
- Name: "Episodes"
|
||||
Identifier: "episodes"
|
||||
Weight: -90
|
||||
URL: "/episodes/"
|
||||
- Name: "RSS"
|
||||
Identifier: "subscribe"
|
||||
Weight: -80
|
||||
URL: "/episodes/index.xml"
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
title: "Lorescape"
|
||||
---
|
||||
|
||||
# Welcome to the Lorescape
|
||||
|
||||
{{< figure src="/imgs/lorescape.png" class="mb-1" >}}
|
||||
|
||||
This is a podcast that goes into the lore of mostly roguelike video games.
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: "Enter the Lorescape"
|
||||
slug: 00-intro
|
||||
author: Vicky Zelda
|
||||
date: 2020-10-12T19:26:18-04:00
|
||||
keywords:
|
||||
- podcast
|
||||
- video games
|
||||
- introduction
|
||||
- lore
|
||||
categories:
|
||||
- Meta
|
||||
tags:
|
||||
- intro
|
||||
- personal
|
||||
podcast:
|
||||
mp3: https://files.lorescape.xyz/00-intro.mp3
|
||||
duration:
|
||||
image:
|
||||
src: /images/logo.png
|
||||
alt: The Lorescape logo
|
||||
episode: 0
|
||||
season: 1
|
||||
---
|
||||
|
||||
Hello world!
|
||||
|
||||
<!--more-->
|
||||
|
||||
{{< audio src="https://files.lorescape.xyz/00-intro.mp3">}}
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: "First Series: Crypt of the Necrodancer"
|
||||
slug: first-series
|
||||
author: Vicky Zelda
|
||||
date: 2020-10-12T19:26:22-04:00
|
||||
keywords:
|
||||
- crypt of the necrodancer
|
||||
- podcast
|
||||
- video games
|
||||
-
|
||||
categories:
|
||||
- Crypt of the Necrodancer
|
||||
tags:
|
||||
- general
|
||||
- plot summary
|
||||
podcast:
|
||||
mp3: https://files.lorescape.xyz/01-necrodancer.mp3
|
||||
duration:
|
||||
image:
|
||||
src: /images/01-necrodancer.png
|
||||
alt: Logo for Crypt of the Necrodancer
|
||||
episode: 1
|
||||
season: 1
|
||||
---
|
||||
|
||||
The first series we'll go over is the Crypt of the Necrodancer!
|
||||
|
||||
<!--more-->
|
||||
|
||||
{{< audio src="https://files.lorescape.xyz/01-necrodancer.mp3">}}
|
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,43 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="nojs" lang="{{ .Site.Language.Lang }}" dir="{{ .Site.Language.LanguageDirection | default "ltr" }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title>{{ block "title" . }}{{ .Title }} – {{ .Site.Title }}{{ end }}</title>
|
||||
{{ partial "meta.html" . }}
|
||||
{{ partialCached "styles.html" . }}
|
||||
{{- block "head" . }}{{ end }}
|
||||
{{ partial "meta_json_ld.html" . }}
|
||||
{{ partial "scripts.html" . }}
|
||||
{{ partialCached "tracking.html" . }}
|
||||
</head>
|
||||
{{- partial "header.html" . -}}
|
||||
<body class="{{ if .IsPage }}single-page{{ else }}list-page{{ end }}{{ if .IsHome }} front{{ end }}">
|
||||
<div class="page layout__page{{ if $.Param "sidebar" | default true }} layout__sidebar-second{{ end }}">
|
||||
<!-- <header class="header layout__header">
|
||||
{{ if $.Param "logo" | default true }}<a href="{{ "/" | relLangURL }}" title="Home" rel="home" class="header__logo"><img src="{{ "/images/logo.png" | relURL }}" alt="Home" class="header__logo-image"></a>{{ end }}
|
||||
<h1 class="header__site-name">
|
||||
<a href="{{ "/" | relLangURL }}" title="Home" class="header__site-link" rel="home"><span>{{ .Site.Title }}</span></a>
|
||||
</h1>-->
|
||||
<div class="region header__region">
|
||||
{{ if .Site.IsMultiLingual }}{{ partial "language-selector.html" . }}{{ end -}}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{ partial "menu.html" . }}
|
||||
|
||||
{{ block "main" . }}{{ end }}
|
||||
|
||||
{{ if $.Param "sidebar" }}{{ partial "sidebar.html" . }}{{ end -}}
|
||||
|
||||
<footer class="footer layout__footer">
|
||||
{{ if $.Param "feedlinks" }}{{ partial "feedlinks.html" . }}{{ end -}}
|
||||
<p>{{ with $.Param "copyright" }}{{ . | markdownify }}{{ else }}<span>© {{ .Site.Title }}</span>{{ end }}</p>
|
||||
{{ with $.Param "footer" }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||
{{ if $.Param "poweredby" }}<p>Powered by <a href="https://gohugo.io/">Hugo</a> and the <a href="https://github.com/frjo/hugo-theme-zen">Zen theme</a>.</p>{{ end }}
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
{{ if $.Param "mobilemenu" }}{{ partial "mobilemenu.html" . }}{{ end -}}
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,9 @@
|
|||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}full-view">
|
||||
<header>
|
||||
<h1 class="title {{ if $.Param "submitted" | default false }}title-submitted{{ end }}"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h1>
|
||||
{{ if $.Param "submitted" | default false }}{{ partial "submitted.html" . }}{{ end -}}
|
||||
</header>
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
|
@ -0,0 +1 @@
|
|||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a> – <time class="created-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format ($.Param "dateformat" | default "2 January, 2006") }}</time></li>
|
|
@ -0,0 +1,11 @@
|
|||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<h1 class="title">{{ .Title }}</h1>
|
||||
{{ $paginator := .Paginate (.Pages) -}}
|
||||
{{ range $paginator.Pages -}}
|
||||
{{ .Render "summary"}}
|
||||
{{ end -}}
|
||||
|
||||
{{ partial "pagination.html" . }}
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,47 @@
|
|||
{{- $pctx := . -}}
|
||||
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
|
||||
{{- $pages := $pctx.RegularPages -}}
|
||||
{{- $limit := .Site.Config.Services.RSS.Limit -}}
|
||||
{{- if ge $limit 1 -}}
|
||||
{{- $pages = $pages | first $limit -}}
|
||||
{{- end -}}
|
||||
{{ $length := (len $pages) -}}
|
||||
{
|
||||
"version" : "https://jsonfeed.org/version/1",
|
||||
"title" : "{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} {{ i18n "string_on" }} {{ end }}{{ .Site.Title }}{{ end }}",
|
||||
"description": "{{ i18n "string_recent_content" }} {{ if ne .Title .Site.Title }}{{ with .Title }}{{ i18n "string_in" }} {{ . }} {{ end }}{{ end }}{{ i18n "string_on" }} {{ .Site.Title }}",
|
||||
"home_page_url" : "{{ .Site.BaseURL }}",
|
||||
{{ with .OutputFormats.Get "JSON" -}}
|
||||
"feed_url" : "{{ .Permalink }}",
|
||||
{{ end -}}
|
||||
{{ with $.Param "icon" -}}
|
||||
"icon" : "{{ . | absURL }}",
|
||||
{{ end -}}
|
||||
{{ with $.Param "favicon" -}}
|
||||
"favicon" : "{{ . | absURL }}",
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.name -}}
|
||||
"author" : {
|
||||
"name" : "{{ . }}"{{ with $.Site.Author.url }},
|
||||
"url": "{{ . }}"{{ end }}{{ with $.Site.Author.avatar }},
|
||||
"avatar": "{{ . | absURL }}"{{ end }}
|
||||
},
|
||||
{{ end -}}
|
||||
"items" : [
|
||||
{{ range $index, $element := $pages -}}
|
||||
{
|
||||
"title" : {{ .Title | jsonify }},
|
||||
"date_published" : "{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"date_modified" : "{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"id" : "{{ .Permalink }}",
|
||||
"url" : "{{ .Permalink }}",
|
||||
{{ with .Params.author -}}
|
||||
"author" : {
|
||||
"name" : "{{ . }}"
|
||||
},
|
||||
{{ end -}}
|
||||
"content_html" : {{ .Content | jsonify }}
|
||||
}{{ if ne (add $index 1) $length }},{{ end }}
|
||||
{{ end -}}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
{{- $pctx := . -}}
|
||||
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
|
||||
{{- $pages := $pctx.RegularPages -}}
|
||||
{{- $limit := .Site.Config.Services.RSS.Limit -}}
|
||||
{{- if ge $limit 1 -}}
|
||||
{{- $pages = $pages | first $limit -}}
|
||||
{{- end -}}
|
||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} {{ i18n "string_on" }} {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>{{ i18n "string_recent_content" }} {{ if ne .Title .Site.Title }}{{ with .Title }}{{ i18n "string_in" }} {{ . }} {{ end }}{{ end }}{{ i18n "string_on" }} {{ .Site.Title }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
{{ with .Site.LanguageCode -}}
|
||||
<language>{{ . }}</language>
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.email -}}
|
||||
<managingEditor>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</managingEditor>
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.email -}}
|
||||
<webMaster>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</webMaster>
|
||||
{{ end -}}
|
||||
{{ with .Site.Copyright -}}
|
||||
<copyright>{{ . }}</copyright>
|
||||
{{ end -}}
|
||||
{{ if not .Date.IsZero -}}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
|
||||
{{ end -}}
|
||||
{{ with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{ end -}}
|
||||
{{ range $pages }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Site.Author.email -}}
|
||||
<author>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</author>
|
||||
{{ end -}}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Content | html }}</description>
|
||||
</item>
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,16 @@
|
|||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}single-view">
|
||||
<header>
|
||||
<h1 class="title {{ if $.Param "submitted" | default false }}title-submitted{{ end }}">{{ .Title }}</h1>
|
||||
{{ if $.Param "submitted" | default false }}{{ partial "submitted.html" . }}{{ end -}}
|
||||
{{ if .Params.tags }}{{ partial "tags.html" . }}{{ end -}}
|
||||
</header>
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
|
||||
{{ if ne .Lastmod .Date }}{{ partial "dates.html" . }}{{ end -}}
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,9 @@
|
|||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}list-view">
|
||||
<header>
|
||||
<h2 class="title {{ if $.Param "submitted" | default false }}title-submitted{{ end }}"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
|
||||
{{ if $.Param "submitted" | default false }}{{ partial "submitted.html" . -}}{{ end }}
|
||||
</header>
|
||||
<div class="content">
|
||||
{{ .Summary }}
|
||||
</div>
|
||||
</article>
|
|
@ -0,0 +1,5 @@
|
|||
{{- $.Scratch.Add "searchindex" slice -}}
|
||||
{{- range $index, $element := .Site.RegularPages -}}
|
||||
{{- $.Scratch.Add "searchindex" (dict "id" $index "title" $element.Title "permalink" $element.RelPermalink "tags" (delimit ($element.Params.tags | default "") " ") "content" $element.Plain "summary" $element.Summary "date" ($element.Date.Format ($.Param "dateformat" | default "2 January, 2006"))) -}}
|
||||
{{- end -}}
|
||||
{{- $.Scratch.Get "searchindex" | jsonify -}}
|
|
@ -0,0 +1,19 @@
|
|||
{{ define "title" }}{{ .Site.Title }}{{ end }}
|
||||
|
||||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}single-view">
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
|
||||
{{ $paginator := .Paginate $pages -}}
|
||||
{{ range $paginator.Pages -}}
|
||||
{{ .Render "summary"}}
|
||||
{{ end -}}
|
||||
|
||||
{{ partial "pagination.html" . }}
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,13 @@
|
|||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<h1 class="title">Micro posts</h1>
|
||||
<p class="micro__follow"><a href="https://micro.blog/{{ with $.Param "microusername" }}{{ . }}{{ end }}">{{ i18n "string_follow" }} @{{ with $.Param "microusername" }}{{ . }}{{ end }}</a></p>
|
||||
|
||||
{{ $paginator := .Paginate (.Pages) -}}
|
||||
{{ range $paginator.Pages -}}
|
||||
{{ .Render "summary"}}
|
||||
{{ end -}}
|
||||
|
||||
{{ partial "pagination.html" . }}
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,35 @@
|
|||
{{ $list := .Pages -}}
|
||||
{{ $length := (len $list) -}}
|
||||
{
|
||||
"version" : "https://jsonfeed.org/version/1",
|
||||
"title" : "Micro posts {{ i18n "string_on" }} {{ .Site.Title }}",
|
||||
"description": "Micro blog {{ i18n "string_by" }} {{ with $.Site.Author.name }}{{ . }}{{end}}, {{ i18n "string_follow" }} @{{ with $.Param "microusername" }}{{ . }}{{ end }} {{ i18n "string_at" }} https://micro.blog/{{ with $.Param "microusername" }}{{ . }}{{ end }}",
|
||||
"home_page_url" : "{{ .Site.BaseURL }}",
|
||||
{{ with .OutputFormats.Get "JSON" -}}
|
||||
"feed_url" : "{{ .Permalink }}",
|
||||
{{ end -}}
|
||||
{{ with $.Param "icon" -}}
|
||||
"icon" : "{{ . | absURL }}",
|
||||
{{ end -}}
|
||||
{{ with $.Param "favicon" -}}
|
||||
"favicon" : "{{ . | absURL }}",
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.name -}}
|
||||
"author" : {
|
||||
"name" : "{{ . }}"{{ with $.Site.Author.url }},
|
||||
"url": "{{ . }}"{{ end }}{{ with $.Site.Author.avatar }},
|
||||
"avatar": "{{ . | absURL }}"{{ end }}
|
||||
},
|
||||
{{ end -}}
|
||||
"items" : [
|
||||
{{ range $index, $element := $list -}}
|
||||
{
|
||||
"date_published" : "{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"date_modified" : "{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"id" : "{{ .Permalink }}",
|
||||
"url" : "{{ .Permalink }}",
|
||||
"content_html" : {{ .Content | jsonify }}
|
||||
}{{ if ne (add $index 1) $length }},{{ end }}
|
||||
{{ end -}}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Micro posts {{ i18n "string_on" }} {{ .Site.Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>Micro blog {{ i18n "string_by" }} {{ with $.Site.Author.name }}{{ . }}{{end}}, {{ i18n "string_follow" }} @{{ with $.Param "microusername" }}{{ . }}{{ end }} {{ i18n "string_at" }} https://micro.blog/{{ with $.Param "microusername" }}{{ . }}{{ end }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
{{ with .Site.LanguageCode -}}
|
||||
<language>{{ . }}</language>
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.email -}}
|
||||
<managingEditor>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</managingEditor>
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.email -}}
|
||||
<webMaster>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</webMaster>
|
||||
{{ end -}}
|
||||
{{ with .Site.Copyright -}}
|
||||
<copyright>{{ . }}</copyright>
|
||||
{{ end -}}
|
||||
{{ if not .Date.IsZero -}}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
|
||||
{{ end -}}
|
||||
{{ with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{ end -}}
|
||||
{{ range .Pages }}
|
||||
<item>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Content | html }}</description>
|
||||
</item>
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,16 @@
|
|||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}single-view">
|
||||
<header>
|
||||
<h1 class="hidden">{{ .Title }}</h1>
|
||||
<p>
|
||||
{{ with $.Param "author" }}<span class="author">{{ . }}</span> – {{ end -}}
|
||||
<time class="created-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format ($.Param "dateformat" | default "2 January, 2006") }}</time>
|
||||
</p>
|
||||
</header>
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,12 @@
|
|||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}list-view">
|
||||
<header>
|
||||
<h2 class="hidden">{{ .Title }}</h2>
|
||||
<p><a href="{{ .RelPermalink }}">
|
||||
{{ with $.Param "author" }}<span class="author">{{ . }}</span> – {{ end -}}
|
||||
<time class="created-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format ($.Param "dateformat" | default "2 January, 2006") }}</time>
|
||||
</a></p>
|
||||
</header>
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
|
@ -0,0 +1,4 @@
|
|||
<p class="content-dates">
|
||||
{{ i18n "last_mod" }} {{ .Lastmod.Format ($.Param "dateformat" | default "2 January, 2006") }}<br>
|
||||
{{ i18n "created" }} {{ .Date.Format ($.Param "dateformat" | default "2 January, 2006") }}
|
||||
</p>
|
|
@ -0,0 +1,8 @@
|
|||
{{ $list := .AlternativeOutputFormats -}}
|
||||
{{ $length := (len $list) -}}
|
||||
{{ if $list -}}
|
||||
<p>Subscribe{{ with .Section }} to section {{ . }}{{ end }}: {{ range $index, $element := $list -}}
|
||||
<a rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">{{ .Name }}</a>{{ if ne (add $index 1) $length }} | {{ end }}
|
||||
{{- end -}}
|
||||
</p>
|
||||
{{ end -}}
|
|
@ -0,0 +1,3 @@
|
|||
<link rel="stylesheet" href="/css/custom.css">
|
||||
|
||||
<div><img src="/images/header.png" style="margin: 0 auto; display:block;"></div>
|
|
@ -0,0 +1,16 @@
|
|||
<h2 class="visually-hidden">{{ i18n "lang_select_title" }}</h2>
|
||||
<nav class="language-selector layout__language-selector">
|
||||
<ul class="navbar">
|
||||
{{ if .IsTranslated -}}
|
||||
{{ range .Translations }}
|
||||
<li><a rel="alternate" href="{{ .RelPermalink }}" hreflang="{{ .Lang }}" lang="{{ .Lang }}">{{ .Language.LanguageName }}</a></li>
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
{{ range .Site.Languages -}}
|
||||
{{ if ne $.Site.Language.Lang .Lang }}
|
||||
<li><a rel="alternate" href="{{ .Lang | relURL }}" hreflang="{{ .Lang }}" lang="{{ .Lang }}">{{ .LanguageName }}</a></li>
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</nav>
|
|
@ -0,0 +1,24 @@
|
|||
<nav class="main-menu layout__navigation">
|
||||
<h2 class="visually-hidden">{{ i18n "menu_title" }}</h2>
|
||||
<ul class="navbar">
|
||||
{{ $currentPage := . }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if .HasChildren }}
|
||||
<li class="dropdown">
|
||||
<a href="{{ .URL | relLangURL }}"{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} class="active" aria-current="page"{{ end }}>{{ .Name }}</a>
|
||||
<ul class="dropdown-content">
|
||||
{{ range .Children }}
|
||||
<li>
|
||||
<a href="{{ .URL | relLangURL }}"{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} class="active" aria-current="page"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li>
|
||||
<a href="{{ .URL | relLangURL }}"{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} class="active" aria-current="page"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
|
@ -0,0 +1,31 @@
|
|||
{{ range .AlternativeOutputFormats -}}
|
||||
<link rel="{{ .Rel }}" {{ printf "type=%q" .MediaType.Type | safeHTMLAttr }} title="{{ .Name }}" href="{{ .Permalink | safeURL }}">
|
||||
{{ end -}}
|
||||
<meta name="description" content="{{ with (.Description | default (replaceRE "\n" " " (.Summary | truncate 170))) }}{{ . }}{{ end }}">
|
||||
<meta name="created" {{printf "content=%q" (.Date.Format "2006-01-02T15:04:05-0700") | safeHTMLAttr }}>
|
||||
<meta name="modified" {{printf "content=%q" (.Lastmod.Format "2006-01-02T15:04:05-0700") | safeHTMLAttr }}>
|
||||
{{ with $.Param "author" }}<meta name="author" content="{{ . }}">{{ end }}
|
||||
{{ with $.Param "contact" }}<meta name="contact" content="{{ . }}">{{ end }}
|
||||
<meta property="og:site_name" content="{{ .Site.Title }}">
|
||||
<meta property="og:title" content="{{ .Title }}">
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
|
||||
{{ with $.Param "image" }}<meta property="og:image" content="{{ . | absURL }}">{{ end }}
|
||||
{{ hugo.Generator }}
|
||||
<meta name="msapplication-TileColor" content="{{ $.Param "themecolor" | default "#ffffff" }}">
|
||||
<meta name="theme-color" content="{{ $.Param "themecolor" | default "#ffffff" }}">
|
||||
{{ with .Site.Params.piwikTrackerUrl }}<link rel="dns-prefetch" href="https://{{ . }}">{{ end }}
|
||||
{{ with $.Param "microusername" }}<link rel="me" href="https://micro.blog/{{ . }}">{{ end }}
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
{{ if .IsTranslated -}}
|
||||
{{ range .Translations }}
|
||||
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink }}">
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
<link rel="apple-touch-icon" href="{{ "apple-touch-icon.png" | relURL }}">
|
||||
{{ if $.Param "realfavicongenerator" -}}
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | relURL }}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | relURL }}">
|
||||
<link rel="mask-icon" href="{{ "safari-pinned-tab.svg" | relURL }}" color="{{ $.Param "safaripinnedcolor" | default "#000000" }}">
|
||||
<link rel="manifest" href="{{ "site.webmanifest" | relURL }}">
|
||||
{{ end -}}
|
|
@ -0,0 +1,47 @@
|
|||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
{{ if .IsPage -}}
|
||||
"@type": {{ if or (eq .Section "blog") (eq .Section "post") }}"BlogPosting"{{ else }}"WebPage"{{ end }},
|
||||
"headline": {{ .Title }},
|
||||
"datePublished": {{ .Date.Format "2006-01-02T15:04:05Z07:00" }},
|
||||
"dateModified": {{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }},
|
||||
"url" : {{ .Permalink }},
|
||||
"description": {{ with (.Description | default (replaceRE "\n" " " (.Summary | truncate 170))) }}{{ . }}{{ end }},
|
||||
{{ with .Params.tags -}}
|
||||
"keywords": {{ . }},
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
"@type": "WebPage",
|
||||
"url" : {{ .Permalink }},
|
||||
"name": {{ .Title }},
|
||||
{{ with $.Param "description" -}}
|
||||
"description": {{ . }},
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ with $.Param "image" -}}
|
||||
"image" : {{ . | absURL }},
|
||||
{{ end -}}
|
||||
{{ with $.Param "author" -}}
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": {{ . }}
|
||||
},
|
||||
{{ end -}}
|
||||
"mainEntityOfPage": {
|
||||
"@type": "WebPage",
|
||||
"@id": {{ .Site.BaseURL }}
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": {{ .Site.Title }},
|
||||
{{ with $.Param "icon" -}}
|
||||
"logo" : {
|
||||
"@type": "ImageObject",
|
||||
"url": {{ . | absURL }}
|
||||
},
|
||||
{{ end -}}
|
||||
"url": {{ .Site.BaseURL }}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,35 @@
|
|||
<div class="mobile-nav" dir="ltr">
|
||||
<div class="mobile-nav__cover"></div>
|
||||
<a href="#navigation" class="mobile-nav__toggle" aria-haspopup="true" role="button">{{ i18n "menu_mobile" }}</a>
|
||||
<div class="mobile-nav__sheet">
|
||||
<div class="mobile-nav__region">
|
||||
{{ if .Site.IsMultiLingual }}{{ partial "language-selector.html" . }}{{ end }}
|
||||
</div>
|
||||
<nav class="mobile-nav__main-menu">
|
||||
<h2 class="visually-hidden">{{ i18n "menu_title" }}</h2>
|
||||
<ul class="mobile-nav__navbar">
|
||||
{{ if .Site.Menus.main -}}
|
||||
|
||||
{{ $currentPage := . -}}
|
||||
{{ range .Site.Menus.main -}}
|
||||
<li><a href="{{ .URL | relLangURL }}"{{ if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} class="active" aria-current="page"{{ end }}>{{ .Name }}</a></li>
|
||||
{{ end -}}
|
||||
|
||||
{{ else -}}
|
||||
|
||||
{{ $currentSection := .Section -}}
|
||||
{{ $currentID := "" -}}
|
||||
{{ with .File }}{{ $currentID = .UniqueID }}{{ end -}}
|
||||
{{ with .Site.Home }}<li><a href="{{ .RelPermalink }}"{{ if eq $currentID .File.UniqueID }} class="active" aria-current="page"{{ end }}>{{ i18n "menu_home" }}</a></li>{{ end }}
|
||||
{{ range where .Site.RegularPages "Section" "" -}}
|
||||
<li><a href="{{ .RelPermalink }}"{{ if eq $currentID .File.UniqueID }} class="active" aria-current="page"{{ end }}>{{ .Title }}</a></li>
|
||||
{{ end -}}
|
||||
{{ range .Site.Sections -}}
|
||||
<li><a href="{{ .RelPermalink }}"{{ if eq $currentSection .Section }} class="active" aria-current="page"{{ end }}>{{ .Title }}</a></li>
|
||||
{{ end -}}
|
||||
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,11 @@
|
|||
{{ if or (.Paginator.HasPrev) (.Paginator.HasNext) -}}
|
||||
<nav class="pager">
|
||||
{{ if .Paginator.HasPrev -}}
|
||||
<a href="{{ .Paginator.Prev.URL }}" rel="prev" class="pager-item pager-prev">{{ i18n "pager_prev" }}</a>
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Paginator.HasNext -}}
|
||||
<a href="{{ .Paginator.Next.URL }}" rel="next" class="pager-item pager-next">{{ i18n "pager_next" }}</a>
|
||||
{{ end -}}
|
||||
</nav>
|
||||
{{ end -}}
|
|
@ -0,0 +1,12 @@
|
|||
{{ $src := (.Params.podcast.mp3 | absURL) -}}
|
||||
{{ if .Site.Params.Podcast.cdn -}}
|
||||
{{ $src = add $.Site.Params.Podcast.cdn (.Params.podcast.mp3 | relURL) -}}
|
||||
{{ end -}}
|
||||
<figure class="podcast">
|
||||
<audio controls preload="{{ .Site.Params.Podcast.preload | default "metadata" }}"><source src="{{ $src }}" type="audio/mpeg"></audio>
|
||||
<figcaption><a href="{{ $src }}">{{ .Title }}</a></figcaption>
|
||||
</figure>
|
||||
{{ with .Params.podcast.image }}
|
||||
{{ $resource := resources.Get .src }}{{ $size := "250x" }}{{ with .width }}{{ $size = (add (string .) "x") }}{{ end }}{{ $image := $resource.Resize $size -}}
|
||||
<figure class="image {{ .class | default "right" }}"><img src="{{ $image.RelPermalink }}" width="{{ .width | default "250" }}" alt="{{ .alt }}"></figure>
|
||||
{{ end -}}
|
|
@ -0,0 +1,24 @@
|
|||
{{ $early := resources.Get "js/script-early.js" | minify | fingerprint -}}
|
||||
<script src="{{ $early.RelPermalink }}"></script>
|
||||
{{ if $.Param "jquery" -}}
|
||||
{{ $jquery := resources.Get "js/lib/jquery.slim.min.js" | fingerprint -}}
|
||||
<script defer src="{{ $jquery.RelPermalink }}"></script>
|
||||
{{ end -}}
|
||||
{{ $umbrella := resources.Get "js/lib/umbrella.min.js" | fingerprint -}}
|
||||
<script defer src="{{ $umbrella.RelPermalink }}"></script>
|
||||
{{ if $.Param "mobilemenu" -}}
|
||||
{{ $mobilemenu := resources.Get "js/mobile.js" | minify | fingerprint -}}
|
||||
<script defer src="{{ $mobilemenu.RelPermalink }}"></script>
|
||||
{{ end -}}
|
||||
{{ if .HasShortcode "contact" -}}
|
||||
{{ $contact := resources.Get "js/contact.js" | minify | fingerprint -}}
|
||||
<script defer src="{{ $contact.RelPermalink }}"></script>
|
||||
{{ end -}}
|
||||
{{ if .HasShortcode "search" -}}
|
||||
{{ $flexsearch := resources.Get "js/lib/flexsearch.min.js" | fingerprint -}}
|
||||
<script defer src="{{ $flexsearch.RelPermalink }}"></script>
|
||||
{{ $search := resources.Get "js/search.js" | resources.ExecuteAsTemplate "js/search.js" . | minify | fingerprint -}}
|
||||
<script defer src="{{ $search.RelPermalink }}"></script>
|
||||
{{ end -}}
|
||||
{{ $script := resources.Get "js/script.js" | minify | fingerprint -}}
|
||||
<script defer src="{{ $script.RelPermalink }}"></script>
|
|
@ -0,0 +1,15 @@
|
|||
{{ $currentSection := .Section -}}
|
||||
{{ $currentID := "" -}}
|
||||
{{ with .File }}{{ $currentID = .UniqueID }}{{ end -}}
|
||||
<aside class="sidebar layout__second-sidebar">
|
||||
{{ range .Site.Sections -}}
|
||||
<section>
|
||||
<h4 class="menu"><a href="{{ .RelPermalink }}"{{ if eq $currentSection .Section }} class="active" aria-current="page"{{ end }}>{{ .Title }}</a></h4>
|
||||
<ul class="menu">
|
||||
{{ range .Pages -}}
|
||||
<li><a href="{{ .RelPermalink }}"{{ if eq $currentID .File.UniqueID }} class="active" aria-current="page"{{ end }}>{{ .Title }}</a></li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</section>
|
||||
{{ end -}}
|
||||
</aside>
|
|
@ -0,0 +1,19 @@
|
|||
{{ $main_options := (dict "targetPath" "css/styles.css" "outputStyle" "compressed" "enableSourceMap" false "includePaths" (slice "assets/lib/typey/stylesheets")) -}}
|
||||
{{ if eq hugo.Environment "development" -}}
|
||||
{{ $main_options = merge $main_options (dict "outputStyle" "nested" "enableSourceMap" true) -}}
|
||||
{{ end -}}
|
||||
{{ $mobile_options := merge $main_options (dict "targetPath" "css/mobile.css") -}}
|
||||
{{ $print_options := merge $main_options (dict "targetPath" "css/print.css") -}}
|
||||
{{ $main_style := resources.Get "sass/styles.scss" | toCSS $main_options -}}
|
||||
{{ $mobile_style := resources.Get "sass/mobile.scss" | toCSS $mobile_options -}}
|
||||
{{ $print_style := resources.Get "sass/print.scss" | toCSS $print_options -}}
|
||||
{{ if ne hugo.Environment "development" -}}
|
||||
{{ $main_style = $main_style | fingerprint -}}
|
||||
{{ $mobile_style = $mobile_style | fingerprint -}}
|
||||
{{ $print_style = $print_style | fingerprint -}}
|
||||
{{ end -}}
|
||||
{{ if $.Param "mobilemenu" -}}
|
||||
<link rel="stylesheet" href="{{ $mobile_style.RelPermalink }}" media="screen">
|
||||
{{ end -}}
|
||||
<link rel="stylesheet" href="{{ $main_style.RelPermalink }}">
|
||||
<link rel="stylesheet" href="{{ $print_style.RelPermalink }}" media="print">
|
|
@ -0,0 +1,4 @@
|
|||
<div class="submitted">
|
||||
{{ with $.Param "author" }}<span class="author" itemprop="author">{{ . }}</span> – {{ end -}}
|
||||
<time class="created-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format ($.Param "dateformat" | default "2 January, 2006") }}</time>
|
||||
</div>
|
|
@ -0,0 +1,8 @@
|
|||
<div class="tags">
|
||||
{{ i18n "taxo_tags" }}:
|
||||
<ul>
|
||||
{{ range .Params.tags -}}
|
||||
<li><a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a></li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</div>
|
|
@ -0,0 +1,11 @@
|
|||
{{ if and .Site.Params.piwikTrackerUrl .Site.Params.piwikSiteID -}}
|
||||
{{ $script := resources.Get "js/tracking.js" | resources.ExecuteAsTemplate "js/tracking.js" . | minify | fingerprint -}}
|
||||
<script src="{{ $script.RelPermalink }}"></script>
|
||||
<script defer src="https://{{ .Site.Params.piwikTrackerUrl }}/matomo.js"></script>
|
||||
{{ end -}}
|
||||
|
||||
{{ if .Site.GoogleAnalytics -}}
|
||||
{{ $script := resources.Get "js/tracking.js" | resources.ExecuteAsTemplate "js/tracking.js" . | minify | fingerprint -}}
|
||||
<script src="{{ $script.RelPermalink }}"></script>
|
||||
<script defer src="https://ssl.google-analytics.com/ga.js"></script>
|
||||
{{ end -}}
|
|
@ -0,0 +1,10 @@
|
|||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}full-view">
|
||||
<header>
|
||||
<h1 class="title {{ if $.Param "submitted" | default false }}title-submitted{{ end }}"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h1>
|
||||
{{ if $.Param "submitted" | default false }}{{ partial "submitted.html" . }}{{ end -}}
|
||||
</header>
|
||||
{{ partial "podcast.html" . -}}
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
|
@ -0,0 +1,64 @@
|
|||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
||||
<channel>
|
||||
<title>{{ .Site.Params.Podcast.Title | default .Site.Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>{{ .Site.Params.Podcast.Description | default .Site.Params.Description }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>{{ .Site.Params.Podcast.Lang | default .Site.LanguageCode }}</language>
|
||||
{{ with .Site.Author.email -}}
|
||||
<managingEditor>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</managingEditor>
|
||||
{{ end -}}
|
||||
{{ with .Site.Author.email -}}
|
||||
<webMaster>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{end}}</webMaster>
|
||||
{{ end -}}
|
||||
{{ with .Site.Copyright -}}
|
||||
<copyright>{{ . }}</copyright>
|
||||
{{ end -}}
|
||||
{{ if not .Date.IsZero -}}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
|
||||
{{ end -}}
|
||||
{{ with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{ end -}}
|
||||
{{ with .Site.Params.Podcast.Image }}{{ $image := resources.Get . }}<itunes:image href="{{ $image.Permalink }}" />{{ end }}
|
||||
{{ with .Site.Params.Podcast.Category -}}
|
||||
<itunes:category {{ if .name }}text="{{ .name }}"{{end}}>
|
||||
{{ range .subcategories }}<itunes:category text="{{ . }}" />{{ end }}
|
||||
</itunes:category>
|
||||
{{ end -}}
|
||||
{{ with .Site.Params.Podcast.Owner -}}
|
||||
<itunes:owner>
|
||||
{{ with .name }}<itunes:name>{{ . }}</itunes:name>{{ end }}
|
||||
{{ with .email }}<itunes:email>{{ . }}</itunes:email>{{ end }}
|
||||
</itunes:owner>
|
||||
{{ end -}}
|
||||
{{ with .Site.Params.Podcast.Description }}<itunes:summary>{{ . }}</itunes:summary>{{ end }}
|
||||
{{ with .Site.Params.Podcast.Author }}<itunes:author>{{ . }}</itunes:author>{{ end }}
|
||||
{{ with .Site.Params.Podcast.Type }}<itunes:type>{{ . }}</itunes:type>{{ end }}
|
||||
{{ with .Site.Params.Podcast.Block }}<itunes:block>{{ . }}</itunes:block>{{ end }}
|
||||
{{ with .Site.Params.Podcast.Complete }}<itunes:complete>{{ . }}</itunes:complete>{{ end }}
|
||||
{{ with .Site.Params.Podcast.NewFeed }}<itunes:new-feed-url>{{ . }}</itunes:new-feed-url>{{ end }}
|
||||
<itunes:explicit>{{ if .Site.Params.Podcast.Explicit }}true{{ else }}false{{ end }}</itunes:explicit>
|
||||
{{ range .Pages }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<itunes:title>{{ .Title }}</itunes:title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Site.Author.email -}}
|
||||
<author>{{ . }}{{ with $.Site.Author.name }} ({{ . }}){{ end }}</author>
|
||||
{{ end -}}
|
||||
<description>{{ .Content | html }}</description>
|
||||
{{ with .Params.podcast.mp3 }}{{ $file_stat := os.Stat (add "/static" (. | relURL)) }}<enclosure url="{{ if $.Site.Params.Podcast.cdn }}{{ add $.Site.Params.Podcast.cdn (. | relURL) }}{{ else }}{{ . | absURL }}{{ end }}" length="{{ $file_stat.Size }}" type="audio/mpeg" />{{ end }}
|
||||
{{ with .Params.podcast.duration }}<itunes:duration>{{ . }}</itunes:duration>{{ end }}
|
||||
{{ with .Params.podcast.image.src }}{{ $image := resources.Get . }}<itunes:image href="{{ $image.Permalink }}" />{{ end }}
|
||||
{{ with .Params.podcast.episode }}<itunes:episode>{{ . }}</itunes:episode>{{ end }}
|
||||
{{ with .Params.podcast.episodeType }}<itunes:episodeType>{{ . }}</itunes:episodeType>{{ end }}
|
||||
{{ with .Params.podcast.season }}<itunes:season>{{ . }}</itunes:season>{{ end }}
|
||||
{{ with .Params.podcast.block }}<itunes:block>{{ . }}</itunes:block>{{ end }}
|
||||
<itunes:explicit>{{ if .Params.podcast.explicit }}true{{ else }}false{{ end }}</itunes:explicit>
|
||||
</item>
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -0,0 +1,15 @@
|
|||
{{ define "main" -}}
|
||||
<main class="main layout__main">
|
||||
<article class="{{ with .Section }}section-{{ . | urlize }} {{ end }}single-view">
|
||||
<header>
|
||||
<h1 class="title {{ if $.Param "submitted" | default false }}title-submitted{{ end }}">{{ .Title }}</h1>
|
||||
{{ if $.Param "submitted" | default false }}{{ partial "submitted.html" . }}{{ end -}}
|
||||
{{ if .Params.tags }}{{ partial "tags.html" . }}{{ end -}}
|
||||
</header>
|
||||
{{ partial "podcast.html" . -}}
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{{ end }}
|
|
@ -0,0 +1,6 @@
|
|||
<figure {{ with .Get "class" }}class="{{ . }}"{{ end }}>
|
||||
<audio controls preload="{{ .Get "preload" | default "metadata" }}">
|
||||
{{ with .Get "src" }}<source src="{{ . | relURL }}" type="audio/mpeg">{{ end }}
|
||||
{{ with .Get "caption" }}<figcaption>{{ . }}</figcaption>{{ end }}
|
||||
</audio>
|
||||
</figure>
|
|
@ -0,0 +1 @@
|
|||
<div class="clearfix"></div>
|
|
@ -0,0 +1,16 @@
|
|||
<p class="error message js-hidden">{{ i18n "js_required" }}</p>
|
||||
<p class="contact-submitted status message hidden">{{ i18n "contact_submitted" }}</p>
|
||||
<p class="contact-error error message hidden">{{ i18n "contact_error" }}</p>
|
||||
|
||||
<form class="contact-form hidden" action="#" method="post" accept-charset="UTF-8">
|
||||
<label for="edit-name">{{ i18n "contact_name" }}</label>
|
||||
<input type="text" id="edit-name" name="name" placeholder="{{ i18n "contact_name_placeholder" }}" tabindex="1" required autofocus><span></span>
|
||||
<label for="edit-mail">{{ i18n "contact_mail" }}</label>
|
||||
<input type="email" id="edit-mail" name="email" placeholder="{{ i18n "contact_mail_placeholder" }}" tabindex="2" required><span></span>
|
||||
<input type="text" id="edit-url" class="hidden" name="url" placeholder="{{ i18n "contact_honypot" }}">
|
||||
<label for="edit-subject">{{ i18n "contact_subject" }}</label>
|
||||
<input type="text" id="edit-subject" name="subject" placeholder="{{ i18n "contact_subject_placeholder" }}" tabindex="3" required><span></span>
|
||||
<label for="edit-message">{{ i18n "contact_message" }}</label>
|
||||
<textarea id="edit-message" name="message" rows="5" placeholder="{{ i18n "contact_message_placeholder" }}" tabindex="4" required></textarea><span></span>
|
||||
<button type="submit" name="submit" class="form-submit" disabled>{{ i18n "contact_submit" }}</button>
|
||||
</form>
|
|
@ -0,0 +1,50 @@
|
|||
{{ $maxwidth := .Site.Params.imageMaxWidth -}}
|
||||
{{ $realwidth := 0 -}}
|
||||
{{ $realheight := 0 -}}
|
||||
{{ $width := 0 -}}
|
||||
{{ $height := 0 -}}
|
||||
{{ $height := 0 -}}
|
||||
{{ if (fileExists (add "/static" (.Get "src"))) -}}
|
||||
{{ with (imageConfig (add "/static" (.Get "src"))) -}}
|
||||
{{ $realwidth = .Width -}}
|
||||
{{ $realheight = .Height -}}
|
||||
{{ $width = .Width -}}
|
||||
{{ $height = .Height -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ if and (.Get "width") (.Get "height") -}}
|
||||
{{ $width = (int (.Get "width")) -}}
|
||||
{{ $height = (int (.Get "height")) -}}
|
||||
{{ else if (.Get "width") -}}
|
||||
{{ $width = (int (.Get "width")) -}}
|
||||
{{ if and ($realwidth) (lt ($width) ($realwidth)) -}}
|
||||
{{ $height = (mul ($realheight) (div (add ($width) 0.0) ($realwidth))) -}}
|
||||
{{ $height = (math.Round $height) -}}
|
||||
{{ end -}}
|
||||
{{ else if (.Get "height") -}}
|
||||
{{ $height = (int (.Get "height")) -}}
|
||||
{{ if and ($realheight) (lt ($height) ($realheight)) -}}
|
||||
{{ $width = (mul ($realwidth) (div (add ($height) 0.0) ($realheight))) -}}
|
||||
{{ $width = (math.Round $width) -}}
|
||||
{{ end -}}
|
||||
{{ else if and ($maxwidth) (lt ($maxwidth) ($width)) -}}
|
||||
{{ $width = ($maxwidth) -}}
|
||||
{{ $height = (mul ($realheight) (div (add ($width) 0.0) ($realwidth))) -}}
|
||||
{{ $height = (math.Round $height) -}}
|
||||
{{ end -}}
|
||||
<figure class="image {{ .Get "class" | default "" }}">
|
||||
{{ with .Get "link" }}<a href="{{ . }}">{{ end -}}
|
||||
<img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" }}{{ end }}"{{ end }}{{ with $width }} width="{{ . }}"{{ end }}{{ with $height }} height="{{ . }}"{{ end }}>
|
||||
{{- if .Get "link" }}</a>{{ end }}
|
||||
{{ if or (or (.Get "title") (.Get "caption" | markdownify)) (.Get "attr") -}}
|
||||
<figcaption>{{ if isset .Params "title" }}
|
||||
<h4>{{ .Get "title" }}</h4>{{ end }}
|
||||
{{ if or (.Get "caption") (.Get "attr") -}}
|
||||
<p>
|
||||
{{- .Get "caption" -}}
|
||||
{{ with .Get "attrlink" }}<a href="{{ . }}">{{ end }}{{ .Get "attr" | markdownify }}{{ if .Get "attrlink" }}</a>{{ end -}}
|
||||
</p>
|
||||
{{ end -}}
|
||||
</figcaption>
|
||||
{{ end -}}
|
||||
</figure>
|
|
@ -0,0 +1,22 @@
|
|||
<p class="error message js-hidden">{{ i18n "js_required" }}</p>
|
||||
<p class="search-loading status message hidden">{{ i18n "search_loading" }}</p>
|
||||
|
||||
<div class="search-input hidden">
|
||||
<form id="search-form" class="search-form" action="#" method="post" accept-charset="UTF-8" role="search">
|
||||
<label for="query" class="visually-hidden">{{ i18n "search_title" }}</label>
|
||||
<input type="search" id="query" name="query" class="search-text" placeholder="{{ i18n "search_placeholder" }}" maxlength="128">
|
||||
<button type="submit" name="submit" class="form-submit" >{{ i18n "search_title" }}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="search-results"></div>
|
||||
|
||||
<template>
|
||||
<article class="search-result list-view">
|
||||
<header>
|
||||
<h2 class="title title-submitted"><a href="#">Title here</a></h2>
|
||||
<div class="submitted"><time class="created-date">Date here</time></div>
|
||||
</header>
|
||||
<div class="content">Summary here</div>
|
||||
</article>
|
||||
</template>
|
|
@ -0,0 +1,6 @@
|
|||
<figure {{ with .Get "class" }}class="{{ . }}"{{ end }}>
|
||||
<video controls preload="{{ .Get "preload" | default "metadata" }}" {{ with .Get "width" }}width="{{ . }}"{{ end }}>
|
||||
{{ with .Get "src" }}<source src="{{ . | relURL }}" type="video/mp4">{{ end }}
|
||||
</video>
|
||||
{{ with .Get "caption" }}<figcaption>{{ . }}</figcaption>{{ end }}
|
||||
</figure>
|
|
@ -0,0 +1 @@
|
|||
<div class="{{ .Get 0 }}">{{ if eq (.Get 1) "nomarkdown" }}{{ .Inner }}{{ else }}{{ .Inner | markdownify }}{{ end }}</div>
|
|
@ -0,0 +1,90 @@
|
|||
.main-menu,
|
||||
.header__region {
|
||||
display: none; }
|
||||
@media (min-width: 666px) {
|
||||
.main-menu,
|
||||
.header__region {
|
||||
display: block; } }
|
||||
.mobile-nav {
|
||||
font-family: Futura, "Century Gothic", AppleGothic, sans-serif;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
z-index: 20;
|
||||
pointer-events: none; }
|
||||
@media (min-width: 666px) {
|
||||
.mobile-nav {
|
||||
display: none; } }
|
||||
.js-nav-open .mobile-nav {
|
||||
position: fixed; }
|
||||
.mobile-nav__cover {
|
||||
position: absolute;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
opacity: 0; }
|
||||
.js-nav-open .mobile-nav__cover {
|
||||
opacity: 1;
|
||||
pointer-events: auto; }
|
||||
.mobile-nav__toggle {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
padding: 6px 29px 4px 4px;
|
||||
z-index: 22;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
border: 1px solid #cccccc;
|
||||
border-radius: 3px;
|
||||
color: #000;
|
||||
pointer-events: auto; }
|
||||
@media (min-width: 666px) {
|
||||
.mobile-nav__toggle {
|
||||
display: none; } }
|
||||
.js-nav-open .mobile-nav__toggle {
|
||||
color: #fff; }
|
||||
.mobile-nav__toggle::after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
margin-left: 5px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-top: 12px double #000;
|
||||
border-bottom: 4px solid #000; }
|
||||
.js-nav-open .mobile-nav__toggle::after {
|
||||
border-color: #fff; }
|
||||
.mobile-nav__sheet {
|
||||
background-color: #333333;
|
||||
width: 90vw;
|
||||
height: 100vh;
|
||||
padding: 2rem;
|
||||
transform: translateX(100vw);
|
||||
z-index: 21; }
|
||||
.mobile-nav__sheet a {
|
||||
color: #fff;
|
||||
text-decoration: none; }
|
||||
.mobile-nav__sheet a:hover, .mobile-nav__sheet a:focus {
|
||||
color: #fff; }
|
||||
.js-nav-open .mobile-nav__sheet {
|
||||
pointer-events: auto;
|
||||
box-shadow: -10px 0 10px -10px #333333;
|
||||
transform: translateX(10vw); }
|
||||
.mobile-nav__navbar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0;
|
||||
margin: 0; }
|
||||
.mobile-nav__navbar li {
|
||||
list-style-type: none;
|
||||
margin: .4rem 0; }
|
||||
.mobile-nav__cover, .mobile-nav__toggle, .mobile-nav__toggle::after, .mobile-nav__sheet {
|
||||
transition: all 130ms ease-in; }
|
||||
.js-nav-open .mobile-nav__cover, .js-nav-open .mobile-nav__toggle, .js-nav-open .mobile-nav__toggle::after, .js-nav-open .mobile-nav__sheet {
|
||||
transition: all 330ms ease-out; }
|
||||
|
||||
/*# sourceMappingURL=mobile.css.map */
|
|
@ -0,0 +1 @@
|
|||
{"Target":"css/mobile.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1,23 @@
|
|||
@media print {
|
||||
.print-none,
|
||||
.pager,
|
||||
aside,
|
||||
nav,
|
||||
footer {
|
||||
display: none; } }
|
||||
|
||||
@media print {
|
||||
html {
|
||||
font-size: 12pt; }
|
||||
body,
|
||||
.page {
|
||||
background-color: #fff; }
|
||||
.main {
|
||||
width: 100%; }
|
||||
:link,
|
||||
:visited {
|
||||
text-decoration: underline; }
|
||||
abbr[title]::after {
|
||||
content: " (" attr(title) ")"; } }
|
||||
|
||||
/*# sourceMappingURL=print.css.map */
|
|
@ -0,0 +1 @@
|
|||
{"Target":"css/print.css","MediaType":"text/css","Data":{}}
|
|
@ -0,0 +1,856 @@
|
|||
html {
|
||||
font-family: "Garamond Premier Pro", Charter, "Times New Roman", serif;
|
||||
font-size: 137.5%;
|
||||
line-height: 1.40909091em;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
min-height: 100%;
|
||||
box-sizing: border-box; }
|
||||
@media (min-width: 1111px) {
|
||||
html {
|
||||
font-size: 112.5%;
|
||||
line-height: 1.38888889em; } }
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit; }
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
h1,
|
||||
.header__site-name {
|
||||
font-size: 1.27272727rem;
|
||||
line-height: 2.11363636rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
h2 {
|
||||
font-size: 1.18181818rem;
|
||||
line-height: 2.11363636rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
h3 {
|
||||
font-size: 1.09090909rem;
|
||||
line-height: 2.11363636rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
h4 {
|
||||
font-size: 1rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
h5 {
|
||||
font-size: 0.81818182rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
h6 {
|
||||
font-size: 0.72727273rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
|
||||
@media (min-width: 666px) {
|
||||
h1,
|
||||
.header__site-name {
|
||||
font-size: 1.88888889rem;
|
||||
line-height: 2.81818182rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
h2 {
|
||||
font-size: 1.55555556rem;
|
||||
line-height: 2.11363636rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
h3 {
|
||||
font-size: 1.22222222rem;
|
||||
line-height: 2.11363636rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
h4 {
|
||||
font-size: 1rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
h5 {
|
||||
font-size: 0.88888889rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; }
|
||||
h6 {
|
||||
font-size: 0.77777778rem;
|
||||
line-height: 1.40909091rem;
|
||||
margin-top: 1.40909091rem;
|
||||
margin-bottom: 1.40909091rem; } }
|
||||
|
||||
.divider,
|
||||
hr {
|
||||
margin: 1.40909091rem 0;
|
||||
border: 0;
|
||||
border-top: 1px solid #cccccc; }
|
||||
.divider > :first-child,
|
||||
hr > :first-child {
|
||||
margin-top: 1.40909091rem; }
|
||||
|
||||
blockquote {
|
||||
margin: 1.40909091rem 2rem; }
|
||||
|
||||
dl,
|
||||
ol,
|
||||
ul {
|
||||
margin: 1.40909091rem 0; }
|
||||
|
||||
dd {
|
||||
margin: 0 0 0 44px; }
|
||||
|
||||
ol,
|
||||
ul {
|
||||
padding: 0 0 0 44px; }
|
||||
ol ol,
|
||||
ol ul,
|
||||
ul ol,
|
||||
ul ul {
|
||||
margin: 0; }
|
||||
|
||||
figure {
|
||||
margin: 1.40909091rem 0; }
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible; }
|
||||
|
||||
p,
|
||||
pre {
|
||||
margin: 1.05681818rem 0; }
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp, pre {
|
||||
font-family: Menlo, "Ubuntu Mono", "DejaVu Sans Mono", "Courier New", Courier, monospace, sans-serif;
|
||||
font-size: 1em; }
|
||||
|
||||
a {
|
||||
color: #000;
|
||||
-webkit-text-decoration-skip: objects; }
|
||||
|
||||
:visited {
|
||||
color: #000; }
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #333333; }
|
||||
|
||||
a:active {
|
||||
color: #c00; }
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 0;
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted; }
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: inherit; }
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder; }
|
||||
|
||||
small {
|
||||
font-size: 0.81818182rem; }
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 0.72727273rem;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline; }
|
||||
|
||||
sub {
|
||||
bottom: -.25em; }
|
||||
|
||||
sup {
|
||||
top: -.5em; }
|
||||
|
||||
img,
|
||||
svg {
|
||||
max-width: 100%;
|
||||
height: auto; }
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: "Garamond Premier Pro", Charter, "Times New Roman", serif;
|
||||
line-height: 1.40909091rem;
|
||||
font-size: 100%;
|
||||
box-sizing: border-box;
|
||||
max-width: 100%;
|
||||
margin: 0; }
|
||||
|
||||
button {
|
||||
overflow: visible; }
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none; }
|
||||
|
||||
input {
|
||||
overflow: visible; }
|
||||
|
||||
[type='number']::-webkit-inner-spin-button,
|
||||
[type='number']::-webkit-outer-spin-button {
|
||||
height: auto; }
|
||||
|
||||
[type='search'] {
|
||||
-webkit-appearance: textfield;
|
||||
outline-offset: -2px; }
|
||||
[type='search']::-webkit-search-cancel-button, [type='search']::-webkit-search-decoration {
|
||||
-webkit-appearance: none; }
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button;
|
||||
font: inherit; }
|
||||
|
||||
.button,
|
||||
button,
|
||||
[type='button'],
|
||||
[type='reset'],
|
||||
[type='submit'] {
|
||||
font-family: Futura, "Century Gothic", AppleGothic, sans-serif;
|
||||
margin-right: 1.05681818rem;
|
||||
margin-bottom: 1.05681818rem;
|
||||
display: inline-block;
|
||||
padding: 2px 10px;
|
||||
line-height: inherit;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
background-image: linear-gradient(#f6f6f6, #e2e2e2);
|
||||
border: 1px solid #e4e4e4;
|
||||
border-left-color: #d2d2d2;
|
||||
border-right-color: #d2d2d2;
|
||||
border-bottom-color: #b4b4b4;
|
||||
border-radius: 2px;
|
||||
-moz-appearance: button;
|
||||
-webkit-appearance: button; }
|
||||
.button::-moz-focus-inner,
|
||||
button::-moz-focus-inner,
|
||||
[type='button']::-moz-focus-inner,
|
||||
[type='reset']::-moz-focus-inner,
|
||||
[type='submit']::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0; }
|
||||
.button:-moz-focusring,
|
||||
button:-moz-focusring,
|
||||
[type='button']:-moz-focusring,
|
||||
[type='reset']:-moz-focusring,
|
||||
[type='submit']:-moz-focusring {
|
||||
outline: 1px dotted ButtonText; }
|
||||
.button:hover, .button:focus, .button:active,
|
||||
button:hover,
|
||||
button:focus,
|
||||
button:active,
|
||||
[type='button']:hover,
|
||||
[type='button']:focus,
|
||||
[type='button']:active,
|
||||
[type='reset']:hover,
|
||||
[type='reset']:focus,
|
||||
[type='reset']:active,
|
||||
[type='submit']:hover,
|
||||
[type='submit']:focus,
|
||||
[type='submit']:active {
|
||||
text-decoration: none;
|
||||
color: #333333; }
|
||||
.button:active,
|
||||
button:active,
|
||||
[type='button']:active,
|
||||
[type='reset']:active,
|
||||
[type='submit']:active {
|
||||
border-color: #555;
|
||||
text-shadow: #333333 0 -1px 0;
|
||||
background: #666666;
|
||||
color: #fff; }
|
||||
|
||||
[disabled].button,
|
||||
button[disabled],
|
||||
[disabled][type='button'],
|
||||
[disabled][type='reset'],
|
||||
[disabled][type='submit'] {
|
||||
cursor: default;
|
||||
color: #999999;
|
||||
background-color: #eeeeee;
|
||||
border-color: #eeeeee;
|
||||
background-image: none;
|
||||
text-shadow: none; }
|
||||
[disabled].button:hover,
|
||||
button[disabled]:hover,
|
||||
[disabled][type='button']:hover,
|
||||
[disabled][type='reset']:hover,
|
||||
[disabled][type='submit']:hover, [disabled].button:focus,
|
||||
button[disabled]:focus,
|
||||
[disabled][type='button']:focus,
|
||||
[disabled][type='reset']:focus,
|
||||
[disabled][type='submit']:focus, [disabled].button:active,
|
||||
button[disabled]:active,
|
||||
[disabled][type='button']:active,
|
||||
[disabled][type='reset']:active,
|
||||
[disabled][type='submit']:active {
|
||||
color: #999999; }
|
||||
|
||||
[type='checkbox'],
|
||||
[type='radio'] {
|
||||
box-sizing: border-box;
|
||||
padding: 0; }
|
||||
|
||||
fieldset {
|
||||
padding: 0.49318182rem 0.70454545rem 0.91590909rem;
|
||||
border: 1px solid #cccccc; }
|
||||
|
||||
legend {
|
||||
box-sizing: border-box;
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
margin-left: -5px;
|
||||
padding: 0 5px;
|
||||
color: inherit;
|
||||
white-space: normal; }
|
||||
|
||||
label {
|
||||
display: block;
|
||||
font-weight: bold; }
|
||||
|
||||
progress {
|
||||
vertical-align: baseline; }
|
||||
|
||||
textarea {
|
||||
overflow: auto; }
|
||||
|
||||
table {
|
||||
margin: 1.40909091rem 0;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
width: 100%; }
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0; }
|
||||
|
||||
details {
|
||||
display: block; }
|
||||
|
||||
summary {
|
||||
display: list-item; }
|
||||
|
||||
menu {
|
||||
margin: 1.40909091rem 0;
|
||||
padding: 0 0 0 44px; }
|
||||
menu menu, ol menu, ul menu {
|
||||
margin: 0; }
|
||||
|
||||
.layout__page {
|
||||
max-width: 960px; }
|
||||
@media (min-width: 666px) {
|
||||
.layout__page {
|
||||
margin: 0 auto;
|
||||
min-height: 100vh; } }
|
||||
.layout__header, .layout__footer, .layout__main, .layout__navigation, .layout__first-sidebar, .layout__second-sidebar, .layout__page-top, .layout__page-bottom {
|
||||
padding: 0 10px;
|
||||
min-width: 0; }
|
||||
@media (min-width: 666px) {
|
||||
.layout__header, .layout__footer, .layout__main, .layout__navigation, .layout__first-sidebar, .layout__second-sidebar, .layout__page-top, .layout__page-bottom {
|
||||
padding: 0 20px; } }
|
||||
@supports (display: grid) {
|
||||
.layout__page {
|
||||
display: grid;
|
||||
grid-template-areas: 'head' 'nav' 'top' 'main' 'side1' 'side2' 'bottom' 'foot';
|
||||
grid-template-rows: auto auto auto 1fr auto auto auto auto;
|
||||
grid-template-columns: 1fr; }
|
||||
@media (min-width: 999px) {
|
||||
.layout__page {
|
||||
grid-template-rows: auto auto auto 1fr auto auto; }
|
||||
.layout__sidebar-first {
|
||||
grid-template-areas: 'head head' 'nav nav' 'side1 top' 'side1 main' 'side1 bottom' 'foot foot';
|
||||
grid-template-columns: 1fr 2fr; }
|
||||
.layout__sidebar-second {
|
||||
grid-template-areas: 'head head' 'nav nav' 'top side2' 'main side2' 'bottom side2' 'foot foot';
|
||||
grid-template-columns: 2fr 1fr; }
|
||||
.layout__sidebar-two {
|
||||
grid-template-areas: 'head head head' 'nav nav nav' 'side1 top side2' 'side1 main side2' 'side1 bottom side2' 'foot foot foot';
|
||||
grid-template-columns: 1fr 2fr 1fr; } }
|
||||
.layout__header {
|
||||
grid-area: head; }
|
||||
.layout__navigation {
|
||||
grid-area: nav; }
|
||||
.layout__page-top {
|
||||
grid-area: top; }
|
||||
.layout__main {
|
||||
grid-area: main; }
|
||||
.layout__first-sidebar {
|
||||
grid-area: side1; }
|
||||
.layout__second-sidebar {
|
||||
grid-area: side2; }
|
||||
.layout__page-bottom {
|
||||
grid-area: bottom; }
|
||||
.layout__footer {
|
||||
grid-area: foot; } }
|
||||
|
||||
.box {
|
||||
margin-bottom: 1.40909091rem;
|
||||
border: 5px solid #cccccc;
|
||||
padding: 1em; }
|
||||
.box__title {
|
||||
margin: 0; }
|
||||
.box:focus, .box:hover, .box.is-focus, .box--is-focus {
|
||||
border-color: #000; }
|
||||
.box--highlight {
|
||||
border-color: #000; }
|
||||
|
||||
.clearfix::before {
|
||||
content: '';
|
||||
display: table; }
|
||||
|
||||
.clearfix::after {
|
||||
content: '';
|
||||
display: table;
|
||||
clear: both; }
|
||||
|
||||
@media (min-width: 666px) {
|
||||
.header {
|
||||
display: flex; } }
|
||||
|
||||
.header__logo {
|
||||
margin: 0 20px 0 0; }
|
||||
|
||||
.header__logo-image {
|
||||
vertical-align: bottom; }
|
||||
|
||||
.header__site-name {
|
||||
margin: 0;
|
||||
display: inline-block; }
|
||||
|
||||
.header__site-link:link, .header__site-link:visited {
|
||||
color: #000;
|
||||
text-decoration: none; }
|
||||
|
||||
.header__site-link:hover, .header__site-link:focus {
|
||||
text-decoration: underline; }
|
||||
|
||||
@media (min-width: 666px) {
|
||||
.header__region {
|
||||
margin-left: auto; } }
|
||||
|
||||
.hidden,
|
||||
html.nojs .nojs-hidden,
|
||||
html.js .js-hidden {
|
||||
display: none; }
|
||||
|
||||
.highlight-mark {
|
||||
color: #c00;
|
||||
background-color: transparent; }
|
||||
|
||||
.inline-links {
|
||||
padding: 0; }
|
||||
.inline-links__item {
|
||||
display: inline;
|
||||
list-style-type: none;
|
||||
padding: 0 1em 0 0; }
|
||||
|
||||
.inline-sibling {
|
||||
display: inline;
|
||||
margin-right: 10px; }
|
||||
.inline-sibling__child,
|
||||
.inline-sibling * {
|
||||
display: inline; }
|
||||
.inline-sibling__adjacent,
|
||||
.inline-sibling + *,
|
||||
.inline-sibling + * > :first-child,
|
||||
.inline-sibling + * > :first-child > :first-child {
|
||||
display: inline; }
|
||||
|
||||
.inverted-box {
|
||||
padding: 0.70454545rem;
|
||||
background: #333333;
|
||||
color: #fff;
|
||||
border-radius: 5px; }
|
||||
.inverted-box :link,
|
||||
.inverted-box :visited {
|
||||
color: #fff; }
|
||||
.inverted-box p:first-of-type,
|
||||
.inverted-box ul:first-of-type,
|
||||
.inverted-box ol:first-of-type {
|
||||
margin-top: 0; }
|
||||
.inverted-box p:last-of-type,
|
||||
.inverted-box ul:last-of-type,
|
||||
.inverted-box ol:last-of-type {
|
||||
margin-bottom: 0; }
|
||||
|
||||
.language-selector .navbar::before {
|
||||
content: '';
|
||||
background-image: url("../images/language-icon.png");
|
||||
background-size: 24px;
|
||||
background-repeat: no-repeat;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
margin-right: 8px; }
|
||||
|
||||
article > .content ul,
|
||||
aside ul {
|
||||
display: table;
|
||||
list-style: none;
|
||||
padding: 0; }
|
||||
article > .content ul > li,
|
||||
aside ul > li {
|
||||
display: table-row; }
|
||||
article > .content ul > li::before,
|
||||
aside ul > li::before {
|
||||
font-size: 0.81818182rem;
|
||||
padding-right: 0.70454545rem;
|
||||
display: table-cell;
|
||||
content: '\2022'; }
|
||||
@media (min-width: 1111px) {
|
||||
article > .content ul > li::before,
|
||||
aside ul > li::before {
|
||||
font-size: 0.88888889rem; } }
|
||||
article > .content ol,
|
||||
aside ol {
|
||||
display: table;
|
||||
list-style: none;
|
||||
padding: 0; }
|
||||
article > .content ol > li,
|
||||
aside ol > li {
|
||||
display: table-row;
|
||||
counter-increment: table-ol; }
|
||||
article > .content ol > li::before,
|
||||
aside ol > li::before {
|
||||
font-size: 0.81818182rem;
|
||||
padding-right: 0.70454545rem;
|
||||
display: table-cell;
|
||||
content: counter(table-ol) ".";
|
||||
text-align: right; }
|
||||
@media (min-width: 1111px) {
|
||||
article > .content ol > li::before,
|
||||
aside ol > li::before {
|
||||
font-size: 0.88888889rem; } }
|
||||
.message {
|
||||
padding: 10px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
width: 95%; }
|
||||
.message.status {
|
||||
background-color: #f4feee;
|
||||
color: #43a808;
|
||||
border-color: #43a808; }
|
||||
.message.warning {
|
||||
background-color: #fffce6;
|
||||
color: #000;
|
||||
border-color: #000; }
|
||||
.message.error {
|
||||
background-color: #fff0f0;
|
||||
color: #c00;
|
||||
border-color: #c00; }
|
||||
|
||||
.responsive-video {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%;
|
||||
padding-top: 25px;
|
||||
height: 0; }
|
||||
.responsive-video__embed,
|
||||
.responsive-video iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%; }
|
||||
.responsive-video--4-3 {
|
||||
padding-bottom: 75%; }
|
||||
|
||||
.visually-hidden {
|
||||
position: absolute !important;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
word-wrap: normal; }
|
||||
.visually-hidden--off,
|
||||
.visually-hidden--focusable:active,
|
||||
.visually-hidden--focusable:focus {
|
||||
position: static !important;
|
||||
clip: auto;
|
||||
height: auto;
|
||||
width: auto;
|
||||
overflow: visible; }
|
||||
|
||||
.watermark {
|
||||
font-family: Impact, "Arial Narrow", Helvetica, sans-serif;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
display: block;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
background-color: transparent;
|
||||
color: #eeeeee;
|
||||
font-size: 75px;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
|
||||
word-wrap: break-word; }
|
||||
|
||||
.more-link {
|
||||
text-align: right; }
|
||||
.more-link__help-icon {
|
||||
padding: 1px 0 1px 20px;
|
||||
background-image: url(../sass/navigation/more-link/more-link__help-icon.svg);
|
||||
background-position: 0 50%;
|
||||
background-repeat: no-repeat; }
|
||||
|
||||
.navbar {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: left; }
|
||||
.navbar__item,
|
||||
.navbar li {
|
||||
padding: 0 10px 0 0;
|
||||
list-style-type: none;
|
||||
list-style-image: none; }
|
||||
|
||||
.pager {
|
||||
margin-top: 0.70454545rem;
|
||||
margin-bottom: 0.70454545rem;
|
||||
clear: both;
|
||||
padding: 0;
|
||||
text-align: center; }
|
||||
.pager__item,
|
||||
.pager-item,
|
||||
.pager-first,
|
||||
.pager-previous,
|
||||
.pager-next,
|
||||
.pager-last,
|
||||
.pager-ellipsis,
|
||||
.pager__current-item,
|
||||
.pager-current {
|
||||
display: inline;
|
||||
padding: 0 .5em;
|
||||
list-style-type: none;
|
||||
background-image: none; }
|
||||
.pager__current-item,
|
||||
.pager-current {
|
||||
font-weight: bold; }
|
||||
|
||||
body {
|
||||
background-color: #eeeeee; }
|
||||
|
||||
.page {
|
||||
background-color: #fff; }
|
||||
|
||||
.header {
|
||||
padding-top: 10px; }
|
||||
@media (min-width: 666px) {
|
||||
.header {
|
||||
padding-top: 20px; } }
|
||||
.footer {
|
||||
margin-top: 2.11363636rem;
|
||||
padding: 0.70454545rem 0;
|
||||
text-align: center;
|
||||
border-top: 2px solid #333333; }
|
||||
.footer p {
|
||||
margin: 0; }
|
||||
|
||||
th,
|
||||
label,
|
||||
legend,
|
||||
figcaption {
|
||||
font-size: 0.81818182rem;
|
||||
line-height: 1.40909091rem; }
|
||||
@media (min-width: 1111px) {
|
||||
th,
|
||||
label,
|
||||
legend,
|
||||
figcaption {
|
||||
font-size: 0.88888889rem;
|
||||
line-height: 1.40909091rem; } }
|
||||
.language-selector,
|
||||
article > header,
|
||||
.content-dates,
|
||||
.footer {
|
||||
font-size: 0.72727273rem;
|
||||
line-height: 1.40909091rem; }
|
||||
@media (min-width: 1111px) {
|
||||
.language-selector,
|
||||
article > header,
|
||||
.content-dates,
|
||||
.footer {
|
||||
font-size: 0.77777778rem;
|
||||
line-height: 1.40909091rem; } }
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
th,
|
||||
nav,
|
||||
label,
|
||||
legend,
|
||||
article > header,
|
||||
.content-dates,
|
||||
.header,
|
||||
.footer {
|
||||
font-family: Futura, "Century Gothic", AppleGothic, sans-serif;
|
||||
color: #333333;
|
||||
font-weight: normal; }
|
||||
|
||||
article > header {
|
||||
color: #666666; }
|
||||
|
||||
article .submitted {
|
||||
margin-bottom: .5rem; }
|
||||
|
||||
@media (min-width: 888px) {
|
||||
article .submitted,
|
||||
article .tags {
|
||||
display: inline-block;
|
||||
padding-right: 1rem; } }
|
||||
|
||||
article .tags ul {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
article .tags li {
|
||||
list-style-type: none;
|
||||
padding-right: 0.28181818rem; }
|
||||
|
||||
article .content-dates {
|
||||
color: #666666;
|
||||
text-align: right; }
|
||||
|
||||
article code {
|
||||
font-size: 0.72727273rem;
|
||||
line-height: 1.40909091rem;
|
||||
overflow-wrap: break-word; }
|
||||
@media (min-width: 1111px) {
|
||||
article code {
|
||||
font-size: 0.77777778rem;
|
||||
line-height: 1.40909091rem; } }
|
||||
article pre {
|
||||
color: #333333;
|
||||
border-radius: 3px;
|
||||
padding: 5px;
|
||||
border: 1px solid #cccccc;
|
||||
background-color: #fff;
|
||||
overflow: auto;
|
||||
max-height: 300px;
|
||||
max-width: 90vw; }
|
||||
article pre.chroma {
|
||||
max-height: initial;
|
||||
overflow-x: scroll; }
|
||||
article pre > code {
|
||||
display: inline-block;
|
||||
white-space: pre; }
|
||||
|
||||
article .js-clipboard-button {
|
||||
display: block; }
|
||||
|
||||
.title-submitted {
|
||||
margin-bottom: 0; }
|
||||
|
||||
@media (min-width: 666px) {
|
||||
figure.image figcaption {
|
||||
display: table-caption;
|
||||
caption-side: bottom; } }
|
||||
|
||||
figure.image figcaption h4,
|
||||
figure.image figcaption p {
|
||||
margin: 0; }
|
||||
|
||||
@media (min-width: 666px) {
|
||||
figure.image {
|
||||
display: table; }
|
||||
figure.image img {
|
||||
display: block; }
|
||||
figure.image.center {
|
||||
margin-left: auto;
|
||||
margin-right: auto; }
|
||||
figure.image.left {
|
||||
padding: 0 0.70454545rem 0.70454545rem 0;
|
||||
margin: 0;
|
||||
float: left;
|
||||
clear: both; }
|
||||
figure.image.left figcaption {
|
||||
padding: 0 0.70454545rem 0.70454545rem 0; }
|
||||
figure.image.right {
|
||||
padding: 0 0 0.70454545rem 0.70454545rem;
|
||||
margin: 0;
|
||||
float: right;
|
||||
clear: both; }
|
||||
figure.image.right figcaption {
|
||||
padding: 0 0 0.70454545rem 0.70454545rem; } }
|
||||
|
||||
figure.podcast audio {
|
||||
width: 95%; }
|
||||
|
||||
.main-menu {
|
||||
margin-top: 0.70454545rem;
|
||||
outline: 0; }
|
||||
.main-menu li {
|
||||
margin-right: 0.70454545rem;
|
||||
margin-bottom: 0.70454545rem;
|
||||
padding: 0; }
|
||||
.main-menu a {
|
||||
display: block;
|
||||
background-color: #333333;
|
||||
color: #fff;
|
||||
padding: 2px 8px;
|
||||
text-decoration: none; }
|
||||
.main-menu a:hover, .main-menu a:focus {
|
||||
background-color: #666666; }
|
||||
.main-menu a:active, .main-menu a.active {
|
||||
background-color: #333333;
|
||||
text-decoration: underline; }
|
||||
|
||||
.menu a.active {
|
||||
text-decoration: none; }
|
||||
|
||||
.search-input {
|
||||
margin: 1.40909091rem 0; }
|
||||
|
||||
.search-text {
|
||||
font-size: 1.09090909rem;
|
||||
line-height: 1.40909091rem;
|
||||
max-width: 80%; }
|
||||
|
||||
.content input,
|
||||
.content textarea {
|
||||
margin-bottom: 1.05681818rem;
|
||||
width: 92%; }
|
||||
.content input:required + span::after,
|
||||
.content textarea:required + span::after {
|
||||
content: ' *';
|
||||
color: #c00;
|
||||
vertical-align: top; }
|
||||
.content input:not(:placeholder-shown):valid,
|
||||
.content textarea:not(:placeholder-shown):valid {
|
||||
background-color: #f4feee; }
|
||||
.content input:not(:placeholder-shown):invalid,
|
||||
.content textarea:not(:placeholder-shown):invalid {
|
||||
background-color: #fff0f0; }
|
||||
|
||||
.js-submitted input:valid,
|
||||
.js-submitted textarea:valid {
|
||||
background-color: #f4feee; }
|
||||
|
||||
.js-submitted input:invalid,
|
||||
.js-submitted textarea:invalid {
|
||||
background-color: #fff0f0; }
|
||||
|
||||
/*# sourceMappingURL=styles.css.map */
|
|
@ -0,0 +1 @@
|
|||
{"Target":"css/styles.css","MediaType":"text/css","Data":{}}
|
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 4.9 KiB |
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#da532c</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
|
@ -0,0 +1,59 @@
|
|||
@font-face {
|
||||
font-family: 'PressStart';
|
||||
src: url('/fonts/PressStart/PressStart2P-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Dosis';
|
||||
src: url('/fonts/Dosis/ShadowsIntoLight-Regular.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Dosis';
|
||||
src: url('/fonts/Dosis/Dosis-VariableFont_wght.ttf');
|
||||
}
|
||||
|
||||
.list-page, .single-page {
|
||||
background-color: #e6e6fa;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: Dosis;
|
||||
}
|
||||
|
||||
body, .submitted, .tags, .navbar {
|
||||
font-family: Dosis;
|
||||
}
|
||||
|
||||
body p {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.submitted, .tags {
|
||||
font-size: 1.3em;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f9f9f9;
|
||||
min-width: 160px;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
padding: 12px 16px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.dropdown:hover .dropdown-content {
|
||||
display: block;
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 15 KiB |
|
@ -0,0 +1,95 @@
|
|||
Copyright (c) 2011, Edgar Tolentino and Pablo Impallari (www.impallari.com|impallari@gmail.com),
|
||||
Copyright (c) 2011, Igino Marini. (www.ikern.com|mail@iginomarini.com),
|
||||
with Reserved Font Names "Dosis".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -0,0 +1,69 @@
|
|||
Dosis Variable Font
|
||||
===================
|
||||
|
||||
This download contains Dosis as both a variable font and static fonts.
|
||||
|
||||
Dosis is a variable font with this axis:
|
||||
wght
|
||||
|
||||
This means all the styles are contained in a single file:
|
||||
Dosis-VariableFont_wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Dosis:
|
||||
static/Dosis-ExtraLight.ttf
|
||||
static/Dosis-Light.ttf
|
||||
static/Dosis-Regular.ttf
|
||||
static/Dosis-Medium.ttf
|
||||
static/Dosis-SemiBold.ttf
|
||||
static/Dosis-Bold.ttf
|
||||
static/Dosis-ExtraBold.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them freely in your products & projects - print or digital,
|
||||
commercial or otherwise. However, you can't sell the fonts on their own.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
|
@ -0,0 +1,93 @@
|
|||
Copyright 2012 The Press Start 2P Project Authors (cody@zone38.net), with Reserved Font Name "Press Start 2P".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -0,0 +1,93 @@
|
|||
Copyright (c) 2010, Kimberly Geswein (kimberlygeswein.com)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 4.2 KiB |
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="128.000000pt" height="128.000000pt" viewBox="0 0 128.000000 128.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,128.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M284 988 c-11 -5 -24 -21 -30 -36 -7 -21 -11 -364 -5 -474 1 -10 10
|
||||
-27 21 -38 17 -17 33 -20 100 -20 l79 0 17 -32 c66 -128 240 -137 319 -16 l30
|
||||
46 95 4 c87 3 96 5 105 26 5 12 12 22 15 22 7 0 4 453 -4 483 -3 14 -17 29
|
||||
-33 35 -35 14 -678 13 -709 0z m703 -31 c12 -8 18 -191 7 -209 -3 -5 -24 7
|
||||
-47 27 -22 19 -47 35 -55 35 -8 0 -37 -20 -63 -45 -26 -25 -52 -45 -57 -45 -5
|
||||
0 -54 44 -110 98 -149 142 -132 131 -164 103 -23 -19 -156 -129 -191 -157 -9
|
||||
-8 -19 -14 -22 -14 -9 0 -5 196 5 206 11 11 679 12 697 1z m-337 -169 c61 -60
|
||||
116 -108 121 -108 9 0 63 45 100 84 18 18 19 18 73 -25 l55 -44 0 -117 c-1
|
||||
-94 -3 -118 -16 -122 -8 -3 -47 -6 -87 -6 l-72 0 -11 54 c-18 87 -78 142 -164
|
||||
150 -103 10 -199 -72 -199 -169 l0 -35 -79 0 c-61 0 -80 3 -85 15 -3 8 -5 65
|
||||
-5 125 0 99 2 113 20 128 12 9 30 25 42 36 12 10 42 35 67 55 25 20 47 38 50
|
||||
41 16 18 65 50 71 48 4 -2 58 -51 119 -110z m50 -178 c147 -77 93 -294 -73
|
||||
-292 -57 0 -107 34 -136 90 -18 36 -18 45 -6 107 16 85 135 138 215 95z"/>
|
||||
<path d="M413 769 c-78 -62 -110 -94 -106 -105 4 -11 14 -8 47 19 22 18 61 49
|
||||
85 68 25 19 53 42 63 52 18 17 20 17 49 -8 33 -27 55 -25 40 3 -9 16 -35 41
|
||||
-56 54 -6 3 -61 -34 -122 -83z"/>
|
||||
<path d="M841 690 c-23 -22 -39 -44 -36 -50 7 -11 17 -6 59 33 24 21 40 22 60
|
||||
2 19 -19 26 -19 26 1 0 17 -38 53 -55 54 -6 0 -30 -18 -54 -40z"/>
|
||||
<path d="M557 576 c-78 -47 -73 -87 13 -91 57 -3 68 -12 75 -63 4 -26 7 -54 8
|
||||
-62 3 -20 34 -25 54 -9 23 20 64 115 57 134 -6 15 -43 41 -55 38 -3 -1 -12 10
|
||||
-20 25 -19 37 -41 59 -63 59 -9 0 -41 -14 -69 -31z m77 -8 c-3 -4 -9 -8 -15
|
||||
-8 -5 0 -9 4 -9 8 0 5 7 9 15 9 8 0 12 -4 9 -9z m-34 -27 c0 -13 -9 -20 -30
|
||||
-23 -36 -5 -41 14 -7 30 32 15 37 14 37 -7z m81 -34 c18 -13 20 -19 10 -31
|
||||
-11 -13 -16 -12 -35 11 -15 18 -21 34 -18 52 5 24 5 24 13 4 4 -11 18 -28 30
|
||||
-36z m28 -99 c-11 -21 -21 -38 -23 -38 -2 0 -6 18 -8 39 -3 38 -2 40 23 38
|
||||
l27 -2 -19 -37z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "",
|
||||
"short_name": "",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/android-chrome-96x96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 1958081f6bc24b61d5efb4460bc6a7dd505de081
|