first commit
This commit is contained in:
1
README.md
Normal file
1
README.md
Normal file
@@ -0,0 +1 @@
|
||||
Modifed version of [no-js-hugo-theme](https://github.com/stevenengler/no-js-hugo-theme) used for my blog [birk.blog](https://birk.blog)
|
||||
0
layouts/404.html
Normal file
0
layouts/404.html
Normal file
66
layouts/_default/baseof.html
Normal file
66
layouts/_default/baseof.html
Normal file
@@ -0,0 +1,66 @@
|
||||
{{ $themeStyleDefault := "light.css" -}}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
{{- if isset .Site.Params "onionlocation" }}
|
||||
<meta http-equiv="onion-location" content="{{ urls.JoinPath .Site.Params.OnionLocation .RelPermalink }}">
|
||||
{{- end }}
|
||||
<title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link rel="stylesheet" href="{{ "css/styles.css" | relURL }}">
|
||||
<link id="theme_css" rel="stylesheet" href="{{ "css/themes" | relURL }}/{{ .Site.Params.ThemeStyle | default $themeStyleDefault }}">
|
||||
{{- if .Site.Params.ThemeStyleSwitcher }}
|
||||
<script src="{{ "js/theme-switcher.js" | relURL }}"></script>
|
||||
{{- end }}
|
||||
</head>
|
||||
<body>
|
||||
<input class="show-hide-menu-input" style="display:none;" autocomplete="off" type="checkbox" id="toggle-1">
|
||||
<label class="overlay" for="toggle-1"></label>
|
||||
<div class="main">
|
||||
<header class="header">
|
||||
<div class="header-content">
|
||||
<div class="title">
|
||||
<a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a>
|
||||
</div>
|
||||
<div>
|
||||
<div class="header-right">
|
||||
{{- if .Site.Params.ThemeStyleSwitcher }}
|
||||
<div id="change-theme-button" style="display:none;" class="clickable-header-label" onclick="toggle_theme()">
|
||||
<img class="color-adapting-image" width="30" src="" alt="change theme button">
|
||||
</div>
|
||||
{{- end }}
|
||||
<label id="show-hide-menu-label" class="clickable-header-label" for="toggle-1">
|
||||
<img class="color-adapting-image" width="30" src="{{ "images/hamburger.svg" | relURL }}" alt="menu button">
|
||||
</label>
|
||||
</div>
|
||||
{{- if .Site.Menus.main }}
|
||||
<div class="dont-show">
|
||||
<p>
|
||||
Links:
|
||||
</p>
|
||||
</div>
|
||||
<ul class="links">
|
||||
{{- range .Site.Menus.main.ByWeight }}
|
||||
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
|
||||
{{- end }}
|
||||
</ul>
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main class="body">
|
||||
<div class="body-content">
|
||||
{{- block "main" . }}{{ end }}
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
{{- if .Site.Params.FooterText }}
|
||||
<hr class="dont-show">
|
||||
<footer class="footer">
|
||||
<p>{{ .Site.Params.FooterText | markdownify }}</p>
|
||||
</footer>
|
||||
{{- end }}
|
||||
</body>
|
||||
</html>
|
||||
45
layouts/_default/list.html
Normal file
45
layouts/_default/list.html
Normal file
@@ -0,0 +1,45 @@
|
||||
{{ define "title" }}{{ .Title }} – {{ .Site.Title }}{{ end }}
|
||||
{{ define "main" }}
|
||||
{{ .Content }}
|
||||
<div class="title-header">
|
||||
<h1>{{ .Title }}</h1>
|
||||
</div>
|
||||
{{- if gt (len .Sections) 0 }}
|
||||
<h2>Categories</h2>
|
||||
<ul class="section-list">
|
||||
{{- range .Sections }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||
{{- end }}
|
||||
</ul>
|
||||
<h2>All Posts</h2>
|
||||
{{- end }}
|
||||
{{- $cs := .CurrentSection }}
|
||||
{{- with $cs }}
|
||||
{{- range (where .Site.RegularPages "Section" .Section) }}
|
||||
{{- if .IsDescendant $cs }}
|
||||
<article class="all-list">
|
||||
<div class="title-list">
|
||||
<h3><a href="{{ .RelPermalink }}">{{ if .Draft }}<i>(Draft)</i> {{ end }}{{ .Title }}</a></h3>
|
||||
<div class="title-list-date">
|
||||
{{- if eq .Date.IsZero false }}
|
||||
<time>{{ .Date.Format "Monday, January 2, 2006" }}</time>
|
||||
{{- end }}
|
||||
{{- if (and (eq .Lastmod.IsZero false) (ne .Lastmod .Date)) }}
|
||||
(updated)
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="body-list">
|
||||
<p></p> {{/* Spacing is weird if we don't include this */}}
|
||||
<p>
|
||||
{{ .Summary }}
|
||||
</p>
|
||||
{{- if .Truncated }}
|
||||
<a href="{{ .RelPermalink }}">Read More…</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
</article>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
33
layouts/_default/single.html
Normal file
33
layouts/_default/single.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{{ define "title" }}{{ .Title }} – {{ .Site.Title }}{{ end }}
|
||||
{{ define "main" }}
|
||||
<header class="title-header">
|
||||
<h1>{{ if .Draft }}<i>(Draft)</i> {{ end }}{{ .Title }}</h1>
|
||||
<div class="title-header-date">
|
||||
{{- if eq .Date.IsZero false }}
|
||||
<time>{{ .Date.Format "Monday, January 2, 2006" }}</time>
|
||||
{{- end }}
|
||||
{{- if (and (eq .Lastmod.IsZero false) (ne .Lastmod .Date)) }}
|
||||
— last updated <time>{{ .Lastmod.Format "January 2, 2006" }}</time>
|
||||
{{- end }}
|
||||
</div>
|
||||
{{ if or (.Params.toc) (and (ne .Params.toc false) (isset .Site.Params "tocwordthreshold") (ge .Site.Params.TocWordThreshold 0) (gt .WordCount .Site.Params.TocWordThreshold)) }}
|
||||
{{/* If the front matter parameter is true, show the toc */}}
|
||||
{{/* Elif the front matter parameter is false, don't show the toc */}}
|
||||
{{/* Elif the front matter parameter is not set, show the toc if the site parameter is set, non-negative, and less than the word count */}}
|
||||
<p></p>
|
||||
<div class="table-of-contents">
|
||||
<details open="open">
|
||||
<summary>
|
||||
<span class="table-of-contents-title">Table of Contents</span>
|
||||
</summary>
|
||||
{{ $toc := .TableOfContents -}}
|
||||
{{/* Workaround for an extra layer of indentation (https://discourse.gohugo.io/t/2303) */}}
|
||||
{{- $toc := replaceRE `<nav(.*)>(\s*)<ul>\s*<li>\s*<ul>` `<nav${1}>${2}<ul>` $toc -}}
|
||||
{{- $toc := replaceRE `</ul>\s*</li>\s*</ul>(\s*)</nav>` `</ul>${1}</nav>` $toc -}}
|
||||
{{- safeHTML $toc }}
|
||||
</details>
|
||||
</div>
|
||||
{{ end }}
|
||||
</header>
|
||||
{{ .Content | replaceRE "(<h[1-9] id=\"([^\"]+)\".+)(</h[1-9]+>)" (printf "${1}<aside class=\"heading-anchor\"><a href=\"#${2}\" aria-label=\"Anchor\"><img src=\"%s\" class=\"color-adapting-image\" height=\"20\"></a></aside>${3}" ("images/chain-link.svg" | relURL)) | safeHTML }}
|
||||
{{ end }}
|
||||
45
layouts/index.html
Normal file
45
layouts/index.html
Normal file
@@ -0,0 +1,45 @@
|
||||
{{ define "title" }}{{ .Title }} – {{ .Site.Title }}{{ end }}
|
||||
{{ define "main" }}
|
||||
{{ .Content }}
|
||||
<div class="title-header">
|
||||
<h1>{{ .Title }}</h1>
|
||||
</div>
|
||||
{{- if gt (len .Sections) 0 }}
|
||||
<h2>Categories</h2>
|
||||
<ul class="section-list">
|
||||
{{- range .Sections }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||
{{- end }}
|
||||
</ul>
|
||||
<h2>All Posts</h2>
|
||||
{{- end }}
|
||||
{{- $cs := .CurrentSection }}
|
||||
{{- with $cs }}
|
||||
{{- range (where .Site.RegularPages "Section" .Section) }}
|
||||
{{- if .IsDescendant $cs }}
|
||||
<article class="all-list">
|
||||
<div class="title-list">
|
||||
<h3><a href="{{ .RelPermalink }}">{{ if .Draft }}<i>(Draft)</i> {{ end }}{{ .Title }}</a></h3>
|
||||
<div class="title-list-date">
|
||||
{{- if eq .Date.IsZero false }}
|
||||
<time>{{ .Date.Format "Monday, January 2, 2006" }}</time>
|
||||
{{- end }}
|
||||
{{- if (and (eq .Lastmod.IsZero false) (ne .Lastmod .Date)) }}
|
||||
(updated)
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="body-list">
|
||||
<p></p> {{/* Spacing is weird if we don't include this */}}
|
||||
<p>
|
||||
{{ .Summary }}
|
||||
</p>
|
||||
{{- if .Truncated }}
|
||||
<a href="{{ .RelPermalink }}">Read More…</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
</article>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
11
layouts/shortcodes/notice.html
Normal file
11
layouts/shortcodes/notice.html
Normal file
@@ -0,0 +1,11 @@
|
||||
{{- .Scratch.Set "type" "note" -}}
|
||||
{{- with .Get 0 }}{{ $.Scratch.Set "type" . }}{{ end -}}
|
||||
<aside class="notice {{ .Scratch.Get "type" }}">
|
||||
<hr>
|
||||
<div class="notice-title">
|
||||
<img class="notice-title-icon" src="{{ "images/exclamation.svg" | relURL }}" height="15">
|
||||
<span>{{ with .Get 1 }}{{ . }}{{ else }}{{ .Scratch.Get "type" | humanize }}{{ end }}</span>
|
||||
</div>
|
||||
<div class="notice-body">{{ .Inner | markdownify }}</div>
|
||||
<hr>
|
||||
</aside>
|
||||
646
static/css/styles.css
Normal file
646
static/css/styles.css
Normal file
@@ -0,0 +1,646 @@
|
||||
|
||||
.body-content figure.wide-image {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
img {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
|
||||
.large-image img {
|
||||
height: 1000px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.small-image img {
|
||||
height: 680px;
|
||||
width: auto;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
|
||||
:root {
|
||||
--document-margin: 15pt;
|
||||
}
|
||||
|
||||
h1 { font-size: 1.50em; }
|
||||
h2 { font-size: 1.40em; }
|
||||
h3 { font-size: 1.20em; }
|
||||
h4 { font-size: 1.00em; }
|
||||
h5 { font-size: 0.85em; }
|
||||
h6 { font-size: 0.75em; }
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
/* For devices which support hover, hide the heading URL fragment
|
||||
link/icon until the mouse hovers over the heading */
|
||||
|
||||
h1:hover .heading-anchor,
|
||||
h2:hover .heading-anchor,
|
||||
h3:hover .heading-anchor,
|
||||
h4:hover .heading-anchor,
|
||||
h5:hover .heading-anchor,
|
||||
h6:hover .heading-anchor {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
h1 .heading-anchor,
|
||||
h2 .heading-anchor,
|
||||
h3 .heading-anchor,
|
||||
h4 .heading-anchor,
|
||||
h5 .heading-anchor,
|
||||
h6 .heading-anchor {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.heading-anchor {
|
||||
/* this is used on an "aside" tag so that it's not shown in the browser's reader mode */
|
||||
display: inline;
|
||||
color: grey;
|
||||
margin-left: 0.5em;
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
.heading-anchor a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.heading-anchor img {
|
||||
height: 1em;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.dont-show {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Improvements to Hugo Chroma syntax highlighting */
|
||||
|
||||
.highlight {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
/* set the tab size for browsers that support it */
|
||||
tab-size: 4;
|
||||
-moz-tab-size: 4;
|
||||
/* needed for the iPhone so that the two columns (line numbers and code) don't have different font sizes */
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
.highlight > * {
|
||||
padding: 0.5em;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
margin: 0px;
|
||||
overflow-x: auto;
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
.highlight td.lntd pre {
|
||||
/* needed to fix an iPhone scrolling bug */
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.highlight td.lntd:last-child {
|
||||
/* needed until this bug is fixed: https://github.com/alecthomas/chroma/issues/225 */
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Improvements to inline code blocks */
|
||||
|
||||
code {
|
||||
font-size: 98%;
|
||||
}
|
||||
|
||||
:not(pre) > code {
|
||||
/* inline code elements */
|
||||
background-color: rgba(25, 25, 25, 0.05);
|
||||
border-radius: 5px;
|
||||
font-size: 80%;
|
||||
padding-top: 0.2em;
|
||||
padding-bottom: 0.2em;
|
||||
padding-left: 0.4em;
|
||||
padding-right: 0.4em;
|
||||
}
|
||||
|
||||
/* Formatting for "notice" shortcodes */
|
||||
|
||||
.notice {
|
||||
margin: 1.5em 0;
|
||||
width: 70%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
background-color: #E9E9E9;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 500pt) {
|
||||
.notice {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.notice > hr {
|
||||
display: none; /* only want the child hr elements to appear if css is disabled */
|
||||
}
|
||||
|
||||
.notice .notice-title {
|
||||
margin: 0;
|
||||
padding: 0.4em;
|
||||
line-height: 1em;
|
||||
background-color: #D5D5D5;
|
||||
}
|
||||
|
||||
.notice .notice-title span {
|
||||
vertical-align: -10%; /* we don't want the font descender space to be centered as well */
|
||||
}
|
||||
|
||||
.notice .notice-title .notice-title-icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 0.15em;
|
||||
margin-right: 0.25em;
|
||||
height: 0.85em;
|
||||
}
|
||||
|
||||
.notice .notice-body {
|
||||
padding: 0.6em;
|
||||
}
|
||||
|
||||
.notice .notice-body p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.notice .notice-body p {
|
||||
margin: 0.8em 0;
|
||||
}
|
||||
|
||||
/* ************************ */
|
||||
|
||||
blockquote {
|
||||
color: #404040;
|
||||
border-left: 0.25em solid #CCC;
|
||||
padding-left: 0.5em;
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
.title-header {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.title-header > h1{
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.title-header-date {
|
||||
color: rgb(90, 90, 90);
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.title-list > h2, .title-list > h3, .title-list > h4, .title-list > h5, .title-list > h6{
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
.body-list p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.title-list-date {
|
||||
color: rgb(90, 90, 90);
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.table-of-contents {
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 1em;
|
||||
margin-bottom: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table-of-contents nav > ul {
|
||||
/* only the most-parent ul element */
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.table-of-contents ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.table-of-contents li {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.table-of-contents ul ul {
|
||||
list-style: none;
|
||||
padding-left: 1.0em;
|
||||
}
|
||||
|
||||
.table-of-contents-title {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.section-list {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.section-list li {
|
||||
display: inline-block;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.section-list li:last-child {
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
.section-list li > * {
|
||||
background-color: rgba(25, 25, 25, 0.05);
|
||||
border-radius: 5px;
|
||||
font-size: 90%;
|
||||
padding-top: 0.2em;
|
||||
padding-bottom: 0.2em;
|
||||
padding-left: 0.4em;
|
||||
padding-right: 0.4em;
|
||||
}
|
||||
|
||||
.links {
|
||||
font-size: 120%;
|
||||
list-style-type: none;
|
||||
line-height: 1;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-top: 9pt;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
/* Not sure what we can do other than continue the links on the next line.
|
||||
* It's ugly, but probably better than hiding them altogether. */
|
||||
flex-wrap: wrap;
|
||||
row-gap: 0.3em;
|
||||
}
|
||||
|
||||
.links li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.links li > * {
|
||||
display:inline-block;
|
||||
}
|
||||
|
||||
.links li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.links a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.links a:hover {
|
||||
color: #505050;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: fixed;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
z-index: 2;
|
||||
/* for iOS: https://stackoverflow.com/a/11885330 */
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.header-right {
|
||||
/* want the images to have padding to make them easier to click, but we still want them aligned correctly */
|
||||
--label-padding: 0.3em;
|
||||
|
||||
position: absolute;
|
||||
top: calc(var(--document-margin) - var(--label-padding));
|
||||
right: calc(var(--document-margin) - var(--label-padding));
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.header-right > * {
|
||||
margin-left: 0.4em;
|
||||
}
|
||||
|
||||
.clickable-header-label {
|
||||
cursor: pointer;
|
||||
padding: var(--label-padding);
|
||||
}
|
||||
|
||||
.clickable-header-label img {
|
||||
height: 1em;
|
||||
width: auto; /* to override the <img width="__"> attribute when css is supported */
|
||||
}
|
||||
|
||||
#show-hide-menu-label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#show-hide-menu-label * {
|
||||
/* duration for the rotation transition of the hamburger image */
|
||||
transition-duration: 100ms;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 13pt;
|
||||
font-family: Lato, Arial, Helvetica, "Liberation Sans", sans-serif;
|
||||
line-height: 1.45;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: bold;
|
||||
font-size: 140%;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.title a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: lightgray;
|
||||
background-size: cover;
|
||||
background-position: bottom;
|
||||
width: 100%;
|
||||
/* header must be above the overlay */
|
||||
/* this also prevents images with css filters from appearing above the header when in portrait mode */
|
||||
z-index: 3;
|
||||
/* z-index doesn't apply to the default 'static' position */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
padding: var(--document-margin);
|
||||
position: relative; /* so that "position: absolute" works for the menu label */
|
||||
}
|
||||
|
||||
.body {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.body-content {
|
||||
margin: var(--document-margin);
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Image/Figure formatting */
|
||||
|
||||
.body-content :not(figure) img {
|
||||
/* regular image elements should be inline elements */
|
||||
max-width: 100%;
|
||||
max-height: 60vw; /* if the image is really tall, we don't want the width to be 100% */
|
||||
}
|
||||
|
||||
.body-content figure {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
max-width: 70%;
|
||||
}
|
||||
|
||||
.body-content figure img {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 0.5em;
|
||||
max-width: 100%;
|
||||
max-height: 40vw; /* if the image is really tall, we don't want the width to be 70% */
|
||||
}
|
||||
|
||||
.body-content figure:not(.color-adapting-image) img {
|
||||
/* if the image is designed to adapt to the theme, then don't use a background */
|
||||
background-color: rgb(255, 255, 255); /* images with transparent backgrounds typically assume a light background */
|
||||
}
|
||||
|
||||
.body-content figure figcaption {
|
||||
font-size: 90%;
|
||||
line-height: 1.5em;
|
||||
padding-bottom: 0.3em;
|
||||
border-bottom: 2px solid lightgray;
|
||||
}
|
||||
|
||||
.body-content figure figcaption * {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@media only screen and (orientation: portrait) {
|
||||
.body-content :not(figure) img,
|
||||
.body-content figure img {
|
||||
/* need to target both so that they're more specific */
|
||||
max-height: 100vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 400pt) {
|
||||
.body-content figure {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.body-content figure figcaption {
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
}
|
||||
}
|
||||
|
||||
/* ************************ */
|
||||
|
||||
.main {
|
||||
width: 700pt; /* make sure to also change this in the media query */
|
||||
margin: 0 auto;
|
||||
margin-top: 10pt;
|
||||
margin-bottom: 10pt;
|
||||
box-sizing: border-box;
|
||||
box-shadow: 0 0 10px rgba(50, 50, 50, .17);
|
||||
}
|
||||
|
||||
.footer {
|
||||
text-align: center;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (orientation: portrait) {
|
||||
.header {
|
||||
top: 0;
|
||||
position: sticky;
|
||||
position: -webkit-sticky; /* needed for iOS */
|
||||
box-shadow: 0 0 1em rgba(30, 30, 30, .3);
|
||||
}
|
||||
|
||||
.body-content :target::before {
|
||||
/* When linking to tags with 'id's (example:
|
||||
'website.com/post/#heading'), make them
|
||||
appear lower down the page so that they
|
||||
don't appear under the sticky header set
|
||||
above.
|
||||
See: https://stackoverflow.com/a/24298427
|
||||
Note that this causes the cursor text
|
||||
selection of the target to behave
|
||||
undesirably.
|
||||
*/
|
||||
content: '';
|
||||
display: block;
|
||||
height: 3em;
|
||||
margin-top: -3em;
|
||||
visibility: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 700pt) {
|
||||
.main {
|
||||
width: 100%;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 12pt;
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 400pt) {
|
||||
:root {
|
||||
--document-margin: 10pt;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
top: 0;
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.clickable-header-label {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.clickable-header-label * {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#show-hide-menu-label {
|
||||
display: inherit;
|
||||
}
|
||||
|
||||
.show-hide-menu-input:checked ~ .main .links {
|
||||
display: inherit;
|
||||
}
|
||||
|
||||
.show-hide-menu-input:checked ~ .main #show-hide-menu-label > img {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.show-hide-menu-input:checked ~ .overlay {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* prevent scrolling the main body; must be on html element and not body for iOS */
|
||||
html:has(.show-hide-menu-input:checked) {
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
/* prevent scrolling (of everything) on iOS */
|
||||
/* any element with 'overflow-y: scroll' will allow the body to scroll for some reason */
|
||||
/* use 'pan-zoom' to allow users to zoom if they need to, even though it makes scrolling weird */
|
||||
touch-action: pan-zoom;
|
||||
}
|
||||
|
||||
.links {
|
||||
/* vertical padding between list items */
|
||||
--entry-padding: 9pt;
|
||||
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding-left: var(--document-margin);
|
||||
padding-right: var(--document-margin);
|
||||
padding-top: calc(var(--document-margin) - var(--entry-padding));
|
||||
padding-bottom: calc(var(--document-margin) - var(--entry-padding));
|
||||
|
||||
font-size: 100%;
|
||||
background-color: rgb(247, 247, 247);
|
||||
border-top: solid 1px;
|
||||
border-bottom: solid 1px;
|
||||
}
|
||||
|
||||
.links li {
|
||||
border-bottom: solid 1px;
|
||||
/* override all previously set margins */
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.links li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.links li > * {
|
||||
/* make the links easily clickable */
|
||||
width: 100%;
|
||||
padding-top: var(--entry-padding);
|
||||
padding-bottom: var(--entry-padding);
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
:root {
|
||||
--document-margin: 0pt;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: initial !important;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
width: 100%;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: initial !important;
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.links {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
64
static/css/themes/dark-chroma.css
Normal file
64
static/css/themes/dark-chroma.css
Normal file
@@ -0,0 +1,64 @@
|
||||
/* Background */ .chroma { color: #d0d0d0; background-color: #1a1a1a }
|
||||
/* Error .chroma .err { color: #a61717; background-color: #e3d2d2 } *
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
|
||||
/* LineHighlight */ .chroma .hl { display: block; width: 100%; background-color: #404040 }
|
||||
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
|
||||
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
|
||||
/* Keyword */ .chroma .k { color: #6ab825; font-weight: bold }
|
||||
/* KeywordConstant */ .chroma .kc { color: #6ab825; font-weight: bold }
|
||||
/* KeywordDeclaration */ .chroma .kd { color: #6ab825; font-weight: bold }
|
||||
/* KeywordNamespace */ .chroma .kn { color: #6ab825; font-weight: bold }
|
||||
/* KeywordPseudo */ .chroma .kp { color: #6ab825 }
|
||||
/* KeywordReserved */ .chroma .kr { color: #6ab825; font-weight: bold }
|
||||
/* KeywordType */ .chroma .kt { color: #6ab825; font-weight: bold }
|
||||
/* NameAttribute */ .chroma .na { color: #bbbbbb }
|
||||
/* NameBuiltin */ .chroma .nb { color: #24909d }
|
||||
/* NameClass */ .chroma .nc { color: #447fcf }
|
||||
/* NameConstant */ .chroma .no { color: #447fcf }
|
||||
/* NameDecorator */ .chroma .nd { color: #ffa500 }
|
||||
/* NameException */ .chroma .ne { color: #bbbbbb }
|
||||
/* NameFunction */ .chroma .nf { color: #447fcf }
|
||||
/* NameNamespace */ .chroma .nn { color: #447fcf }
|
||||
/* NameTag */ .chroma .nt { color: #6ab825; font-weight: bold }
|
||||
/* NameVariable */ .chroma .nv { color: #447fcf }
|
||||
/* LiteralString */ .chroma .s { color: #ed9d13 }
|
||||
/* LiteralStringAffix */ .chroma .sa { color: #ed9d13 }
|
||||
/* LiteralStringBacktick */ .chroma .sb { color: #ed9d13 }
|
||||
/* LiteralStringChar */ .chroma .sc { color: #ed9d13 }
|
||||
/* LiteralStringDelimiter */ .chroma .dl { color: #ed9d13 }
|
||||
/* LiteralStringDoc */ .chroma .sd { color: #ed9d13 }
|
||||
/* LiteralStringDouble */ .chroma .s2 { color: #ed9d13 }
|
||||
/* LiteralStringEscape */ .chroma .se { color: #ed9d13 }
|
||||
/* LiteralStringHeredoc */ .chroma .sh { color: #ed9d13 }
|
||||
/* LiteralStringInterpol */ .chroma .si { color: #ed9d13 }
|
||||
/* LiteralStringOther */ .chroma .sx { color: #ffa500 }
|
||||
/* LiteralStringRegex */ .chroma .sr { color: #ed9d13 }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color: #ed9d13 }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color: #ed9d13 }
|
||||
/* LiteralNumber */ .chroma .m { color: #3677a9 }
|
||||
/* LiteralNumberBin */ .chroma .mb { color: #3677a9 }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color: #3677a9 }
|
||||
/* LiteralNumberHex */ .chroma .mh { color: #3677a9 }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color: #3677a9 }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color: #3677a9 }
|
||||
/* LiteralNumberOct */ .chroma .mo { color: #3677a9 }
|
||||
/* OperatorWord */ .chroma .ow { color: #6ab825; font-weight: bold }
|
||||
/* Comment */ .chroma .c { color: #999999; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #999999; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #999999; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #999999; font-style: italic }
|
||||
/* CommentSpecial */ .chroma .cs { color: #e50808; background-color: #520000; font-weight: bold }
|
||||
/* CommentPreproc */ .chroma .cp { color: #cd2828; font-weight: bold }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #cd2828; font-weight: bold }
|
||||
/* GenericDeleted */ .chroma .gd { color: #d22323 }
|
||||
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||
/* GenericError */ .chroma .gr { color: #d22323 }
|
||||
/* GenericHeading */ .chroma .gh { color: #ffffff; font-weight: bold }
|
||||
/* GenericInserted */ .chroma .gi { color: #589819 }
|
||||
/* GenericOutput */ .chroma .go { color: #cccccc }
|
||||
/* GenericPrompt */ .chroma .gp { color: #aaaaaa }
|
||||
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||
/* GenericSubheading */ .chroma .gu { color: #ffffff }
|
||||
/* GenericTraceback */ .chroma .gt { color: #d22323 }
|
||||
/* TextWhitespace */ .chroma .w { color: #666666 }
|
||||
132
static/css/themes/dark.css
Normal file
132
static/css/themes/dark.css
Normal file
@@ -0,0 +1,132 @@
|
||||
@import url("dark-chroma.css");
|
||||
|
||||
a {
|
||||
color: #A1A1EA;
|
||||
}
|
||||
|
||||
.highlight > * {
|
||||
border-color: #505050;
|
||||
}
|
||||
|
||||
:not(pre) > code {
|
||||
/* inline code elements */
|
||||
background-color: rgba(90, 90, 90, 0.25);
|
||||
}
|
||||
|
||||
a > code {
|
||||
background-color: rgba(65, 65, 170, 0.3);
|
||||
}
|
||||
|
||||
.section-list li > * {
|
||||
background-color: rgba(90, 90, 90, 0.25);
|
||||
}
|
||||
|
||||
.section-list li > a {
|
||||
background-color: rgba(65, 65, 170, 0.3);
|
||||
}
|
||||
|
||||
/*
|
||||
body {
|
||||
color: rgb(210, 210, 210);
|
||||
background-color: rgb(27, 27, 27);
|
||||
}
|
||||
*/
|
||||
body {
|
||||
color: rgb(210, 210, 210);
|
||||
background-color: rgb(14, 14, 14);
|
||||
}
|
||||
|
||||
|
||||
blockquote {
|
||||
color: rgb(170, 170, 170);
|
||||
border-left: 0.25em solid #444;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid rgb(110, 110, 110);
|
||||
}
|
||||
|
||||
img.color-adapting-image,
|
||||
figure.color-adapting-image img {
|
||||
filter: invert(85%) hue-rotate(180deg);
|
||||
/* hue rotate trick from: https://medium.com/@mwichary/dark-theme-in-a-day-3518dde2955a */
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: rgb(31, 51, 31); /* still want a background color before the image loads */
|
||||
}
|
||||
|
||||
.links, .links li {
|
||||
border-color: #383838;
|
||||
}
|
||||
/*
|
||||
.main {
|
||||
background-color: rgb(14, 14, 14);
|
||||
box-shadow: none;
|
||||
}
|
||||
*/
|
||||
.main {
|
||||
background-color: rgb(26, 28, 28);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
.footer {
|
||||
color: rgb(160, 160, 160);
|
||||
}
|
||||
|
||||
.title-header-date {
|
||||
color: rgb(150, 150, 150);
|
||||
}
|
||||
|
||||
.title-list-date {
|
||||
color: rgb(150, 150, 150);
|
||||
}
|
||||
|
||||
.table-of-contents {
|
||||
border-color: #505050;
|
||||
background-color: #1A1A1A;
|
||||
}
|
||||
|
||||
.notice {
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
.notice .notice-title .notice-title-icon {
|
||||
filter: invert(80%);
|
||||
}
|
||||
|
||||
.notice.note {
|
||||
background-color: #001320;
|
||||
border-color: #00487B;
|
||||
}
|
||||
|
||||
.notice.note .notice-title {
|
||||
background-color: #00487B;
|
||||
}
|
||||
|
||||
.notice.tip {
|
||||
background-color: #132000;
|
||||
border-color: #105600;
|
||||
}
|
||||
|
||||
.notice.tip .notice-title {
|
||||
background-color: #105600;
|
||||
}
|
||||
|
||||
.notice.warning {
|
||||
background-color: #200000;
|
||||
border-color: #700000;
|
||||
}
|
||||
|
||||
.notice.warning .notice-title {
|
||||
background-color: #700000;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 400pt) {
|
||||
.links {
|
||||
background-color: rgb(23, 23, 23);
|
||||
}
|
||||
}
|
||||
81
static/images/chain-link.svg
Normal file
81
static/images/chain-link.svg
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="36.329693mm"
|
||||
height="36.329624mm"
|
||||
viewBox="0 0 36.329693 36.329624"
|
||||
version="1.1"
|
||||
id="svg1143"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="chain-link.svg">
|
||||
<defs
|
||||
id="defs1137" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="41.183747"
|
||||
inkscape:cy="-1.0638373"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1015"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="30"
|
||||
inkscape:window-maximized="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata1140">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-106.18932,-64.144405)">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15.11811066;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
mask="none"
|
||||
d="m 499.69727,242.43555 c -5.63871,0 -11.27655,2.12809 -15.53321,6.38476 L 467.125,265.85742 c -8.23333,8.23336 -8.50042,21.63554 -0.80859,30.20899 l 10.73437,-10.73438 c -1.97467,-2.71509 -1.72344,-6.29608 0.76563,-8.78515 l 17.03711,-17.03711 c 2.77595,-2.77592 6.91155,-2.77594 9.6875,0 l 17.0371,17.03711 c 2.77592,2.7759 2.77592,6.91158 0,9.6875 l -17.0371,17.03906 c -2.48897,2.48893 -6.06818,2.73797 -8.78321,0.76367 l -10.73828,10.73633 c 8.57338,7.69283 21.97725,7.42317 30.21094,-0.81055 l 17.03906,-17.03711 c 8.51335,-8.51334 8.51331,-22.55504 0,-31.06836 l -17.03906,-17.03711 c -4.25666,-4.25667 -9.8945,-6.38476 -15.5332,-6.38476 z"
|
||||
transform="scale(0.26458333)"
|
||||
id="rect917"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15.11811066;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
mask="none"
|
||||
d="m 440.30078,301.83008 c -5.6387,0 -11.27655,2.1281 -15.5332,6.38476 l -17.03711,17.03907 c -8.51335,8.51333 -8.51335,22.55306 0,31.0664 l 17.03711,17.03907 c 8.51331,8.5133 22.55501,8.51334 31.06836,0 l 17.03711,-17.03907 c 8.23369,-8.23371 8.50337,-21.63755 0.81054,-30.21093 l -10.73632,10.73828 c 1.9743,2.71502 1.72525,6.29426 -0.76368,8.7832 l -17.03906,17.03711 c -2.77591,2.77592 -6.91159,2.7759 -9.6875,0 l -17.03711,-17.03711 c -2.77595,-2.77593 -2.77595,-6.91158 0,-9.6875 l 17.03711,-17.03711 c 2.48932,-2.48932 6.06998,-2.74094 8.78516,-0.76563 l 10.73437,-10.73437 c -4.14095,-3.71513 -9.40796,-5.57617 -14.67578,-5.57617 z"
|
||||
transform="scale(0.26458333)"
|
||||
id="rect919"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 119.41373,87.24996 9.88087,-9.88087"
|
||||
id="path860-2"
|
||||
inkscape:connector-curvature="0"
|
||||
mask="none" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
70
static/images/exclamation.svg
Normal file
70
static/images/exclamation.svg
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="18.441597mm"
|
||||
height="18.441597mm"
|
||||
viewBox="0 0 18.441597 18.441597"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="exclamation.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="23.53253"
|
||||
inkscape:cy="-1.8454934"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1015"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="30"
|
||||
inkscape:window-maximized="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-95.779202,-139.2792)">
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:10.66666698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 34.849609 0 A 34.850262 34.850262 0 0 0 0 34.849609 A 34.850262 34.850262 0 0 0 34.849609 69.701172 A 34.850262 34.850262 0 0 0 69.701172 34.849609 A 34.850262 34.850262 0 0 0 34.849609 0 z M 33.720703 11.71875 L 36.048828 11.71875 C 37.266264 11.71875 38.268886 12.159718 39.056641 13.042969 C 39.939916 13.902333 40.333777 14.940767 40.238281 16.158203 L 39.126953 37.607422 C 39.055344 38.729387 38.625645 39.660384 37.837891 40.400391 C 37.002388 41.140422 36.024309 41.509766 34.902344 41.509766 C 33.756517 41.509766 32.76519 41.140422 31.929688 40.400391 C 31.165795 39.660384 30.736121 38.729387 30.640625 37.607422 L 29.53125 16.158203 C 29.483502 14.940767 29.877388 13.902333 30.712891 13.042969 C 31.500645 12.159718 32.503242 11.71875 33.720703 11.71875 z M 34.902344 45.771484 C 36.644958 45.723862 38.077253 46.308055 39.199219 47.525391 C 40.416655 48.718965 41.000848 50.164484 40.953125 51.859375 C 41.000747 53.554241 40.416554 54.986537 39.199219 56.15625 C 38.077253 57.373686 36.644958 57.982422 34.902344 57.982422 C 33.231339 57.982422 31.787774 57.373686 30.570312 56.15625 C 29.352876 54.986537 28.744141 53.554241 28.744141 51.859375 C 28.744141 50.18837 29.352876 48.742852 30.570312 47.525391 C 31.787774 46.307954 33.231339 45.723762 34.902344 45.771484 z "
|
||||
id="path815"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,95.779202,139.2792)" />
|
||||
<g
|
||||
aria-label="!"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.40277863px;line-height:1.25;font-family:Dyuthi;-inkscape-font-specification:'Dyuthi, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||
id="text819" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
3
static/images/hamburger.svg
Normal file
3
static/images/hamburger.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="119.0113345192303 189.00247805341664 83.99999999999997 65.28000000000006" width="80" height="61.28"><defs><path d="M194.37 190C197.48 190 200.01 192.53 200.01 195.65C200.01 196.77 200.01 194.52 200.01 195.65C200.01 198.76 197.48 201.29 194.37 201.29C179.5 201.29 140.53 201.29 125.65 201.29C122.54 201.29 120.01 198.76 120.01 195.65C120.01 194.52 120.01 196.77 120.01 195.65C120.01 192.53 122.54 190 125.65 190C140.53 190 179.5 190 194.37 190Z" id="eNJsZ8Kg3"></path><path d="M194.37 215C197.48 215 200.01 217.53 200.01 220.64C200.01 221.77 200.01 219.51 200.01 220.64C200.01 223.76 197.48 226.29 194.37 226.29C179.5 226.29 140.53 226.29 125.65 226.29C122.54 226.29 120.01 223.76 120.01 220.64C120.01 219.51 120.01 221.77 120.01 220.64C120.01 217.53 122.54 215 125.65 215C140.53 215 179.5 215 194.37 215Z" id="a2DqdC3JRN"></path><path d="M194.37 240C197.48 240 200.01 242.52 200.01 245.64C200.01 246.77 200.01 244.51 200.01 245.64C200.01 248.76 197.48 251.28 194.37 251.28C179.5 251.28 140.53 251.28 125.65 251.28C122.54 251.28 120.01 248.76 120.01 245.64C120.01 244.51 120.01 246.77 120.01 245.64C120.01 242.52 122.54 240 125.65 240C140.53 240 179.5 240 194.37 240Z" id="aVsnnO02n"></path></defs><g><g><use xlink:href="#eNJsZ8Kg3" opacity="1" fill="#000000" fill-opacity="1"></use></g><g><use xlink:href="#a2DqdC3JRN" opacity="1" fill="#000000" fill-opacity="1"></use></g><g><use xlink:href="#aVsnnO02n" opacity="1" fill="#000000" fill-opacity="1"></use></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
Reference in New Issue
Block a user