Merge branch 'TMP'

This commit is contained in:
Peter Molnar 2017-10-06 22:51:50 +02:00
commit cae5490a60
18 changed files with 2350 additions and 0 deletions

106
templates/Category.html Normal file
View file

@ -0,0 +1,106 @@
{% include 'block_header_open.html' %}
<title>{{ taxonomy.title }}</title>
<link rel="alternate" type="application/rss+xml" title="{{ taxonomy.title }} feed" href="{{ taxonomy.feed }}" />
{% include 'block_header_close.html' %}
<section class="content-body h-feed">
<aside class="follow">
<p>
<svg class="icon"><use xlink:href="#icon-rss" /></svg>
<a title="follow {{ taxonomy.title }}" href="{{ taxonomy.feed }}">RSS/Atom feed</a>
</p>
</aside>
<h1 class="p-name hide">{{ taxonomy.name }}</h1>
{% for post in posts %}
<article class="h-entry hentry">
<header>
<h2>{% include 'Singular_title.html' %}</h2>
</header>
{% if post.summary %}
<div class="e-summary entry-summary">
{{ post.summary }}
<span class="more">
<a href="/{{ post.slug }}" title="{{ post.title }}"></a>
</span>
<br class="clear" />
</div>
{% else %}
<div class="e-content entry-content">
{{ post.html }}
</div>
{% endif %}
</article>
{% endfor %}
</section>
{% if taxonomy.total > 1 %}
{# based on: http://dev.dbl-a.com/symfony-2-0/symfony2-and-twig-pagination/ #}
<nav class="pagination">
<ul>
{% if taxonomy.page > 1 %}
{% set prev = taxonomy.page - 1 %}
<li>
<a rel="prev" href="{{ taxonomy.url }}page/{{ prev }}">«</a>
</li>
<li>
<a rel="prev" href="{{ taxonomy.url }}">1</a>
</li>
{% endif %}
{% if taxonomy.page - 4 > 0 %}
<li>
<span class="page-numbers dots"></span>
</li>
{% endif %}
{% if ( taxonomy.page - 1 > 1 ) %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.page - 1 }}">{{ taxonomy.page - 1 }}</a>
</li>
{% endif %}
<li>
<span class="page-numbers taxonomy.page">{{ taxonomy.page }}</span>
</li>
{% if ( taxonomy.page + 1 <= taxonomy.total -1 ) %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.page + 1 }}">{{ taxonomy.page + 1 }}</a>
</li>
{% endif %}
{% if taxonomy.page + 3 < taxonomy.total %}
<li>
<span class="page-numbers dots"></span>
</li>
{% endif %}
{% if taxonomy.page != taxonomy.total %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.total }}">{{ taxonomy.total }}</a>
</li>
{% endif %}
{% if taxonomy.page < taxonomy.total %}
{% set next = taxonomy.page + 1 %}
<li>
<a rel="next" href="{{ taxonomy.url }}page/{{ next }}">»</a>
</li>
{% endif %}
</ul>
</nav>
{% endif %}
{% include 'block_footer.html' %}

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ taxonomy.title }}</title>
<link href="{{ taxonomy.feed }}" rel="self" />
<id>{{ taxonomy.feed }}</id>
<updated>{{ taxonomy.lastmod }}</updated>
{% for post in posts %}
<entry>
<title>{{ post.title }}</title>
<link href="{{ site.url }}/{{ post.slug }}/" />
<id>{{ site.url }}/{{ post.slug }}</id>
<updated>{{ post.pubtime }}</updated>
{% if post.summary|length > 0 %}
<summary type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
{{ post.summary }}>
</div>
</summary>
{% endif %}
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
{{ post.html }}
</div>
</content>
<author>
<name>{{ site.author.name }}</name>
<email>{{ site.author.email }}</email>
</author>
<!-- TODO: add enclosure ! -->
</entry>
{% endfor %}
</feed>

90
templates/MagicPHP.html Normal file
View file

@ -0,0 +1,90 @@
<?php
function redirect_to($uri) {
header('HTTP/1.1 301 Moved Permanently');
if (preg_match("/^https?/", $uri))
$target = $uri;
else
$target = '{{ site.url }}/'. trim($uri, '/') . '/';
header("Location: ". $target);
exit;
}
function gone($uri) {
header('HTTP/1.1 410 Gone');
die('<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width,initial-scale=1,minimum-scale=1" name="viewport"/>
<title>Gone</title>
</head>
<body>
<h1>This content was deleted.</h1>
</body>
</html>');
}
function notfound() {
header('HTTP/1.0 404 Not Found');
die('<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width,initial-scale=1,minimum-scale=1" name="viewport"/>
<title>Not found</title>
</head>
<body>
<h1>This was not found.</h1>
<h2>Please search for it instead.</h2>
<p>
<form action="/search" class="search-form" method="get" role="search">
<label for="search">Search</label>
<input id="s" name="s" placeholder="search..." title="Search for:" type="search" value=""/>
<input type="submit" value="OK"/>
</form>
</p>
</body>
</html>');
}
function maybe_redirect($uri) {
if (file_exists("./$uri/index.html")) {
redirect_to($uri);
}
}
$redirects = array(
{% for (from, to) in redirects %}
"{{ from }}" => "{{ to }}",
{% endfor %}
);
$gone = array(
{% for gone in gones %}
"{{ gone }}" => true,
{% endfor %}
);
$uri = filter_var($_SERVER['REQUEST_URI'], FILTER_SANITIZE_URL);
$uri = str_replace('../', '', $uri);
$uri = str_replace('/feed/', '', $uri);
$uri = str_replace('/atom/', '', $uri);
$uri = trim($uri, '/');
if (isset($gone[$uri]))
gone($uri);
elseif (isset($redirects[$uri]))
redirect_to($redirects[$uri]);
// replace _ with - and look for a file
elseif (strstr($uri, '_'))
maybe_redirect(str_replace('_', '-', $uri));
// try getting rid of -by-xyz
elseif (stristr($uri,'-by-'))
maybe_redirect(preg_replace('/(.*?)-by-.*$/i','${1}',$uri));
// try getting rid of -2, WordPress artifacts
elseif (stristr($uri,'-2'))
maybe_redirect(preg_replace('/(.*?)-2$/i','${1}',$uri));
else
notfound();

53
templates/Search.html Normal file
View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" />
<style media="all">
{% include 'style-dark.css' %}
</style>
<title>Search results for "{{ term }}"</title>
</head>
<body>
<header class="content-header" id="main-header">
<nav class="content-navigation">
<ul>
<li>
<a title="back to site" href="/">
« back to the site
</a>
</li>
</ul>
</nav>
<form role="search" method="get" class="search-form" action="/search">
<label for="search" class="hide">Search</label>
<input type="search" class="search-field" placeholder="search..." value="{{ term }}" name="s" id="s" title="Search for:">
<input type="submit" class="search-submit" value="Go ➡">
</form>
<br class="clear" />
</header>
<section class="content-body">
<h1 class="p-name hide">Search results for "{{ term }}"</h1>
{% for category, posts in results.items() %}
<details open="open" class="search-section">
<summary>{{ category }} [{{ posts|length }}]</summary>
<ol>
{% for fname, post in posts.items() %}
<li>
<p><a href="{{ post.url }}">{{ post.url }}</a></p>
<p>{% if post.title|e %}{{ post.txt }}{% else %}{{ post.title }}{% endif %}</p>
</li>
{% endfor %}
</ol>
</details>
{% endfor %}
</section>
</body>
</html>

73
templates/Singular.html Normal file
View file

@ -0,0 +1,73 @@
{% include 'block_header_open.html' %}
<title>{{ post.title }} | {{ site.domain }}</title>
<meta name="author" content="{{ site.author.name }}">
<meta name="keywords" content="{{ post.tags|join(',') }}">
<meta name="description" content="{{ post.summary|e }}">
<link rel="canonical" href="{{ site.url }}/{{ post.slug }}/" />
<link rel="shortlink" href="{{ site.url }}/{{ post.shortslug }}" />
<link rel="license" href="{{ post.licence.url }}" />
{% include 'block_header_close.html' %}
<section class="content-body">
<article class="h-entry hentry singular" lang="{{ post.lang }}">
<header>
<h1>{% include 'Singular_title.html' %}</h1>
{% if 'article' == post.category and post.age >= 2 %}
<h2 class="old-warning">WARNING: this entry was published at {{ post.pubdate }}.<br />It might be outdated.</h2>
{% endif %}
</header>
{% if post.summary %}
<div class="e-summary entry-summary">
{{ post.summary }}
<br class="clear" />
</div>
{% endif %}
<div class="e-content entry-content">
<div class="content-inner">
{{ post.html }}
</div>
</div>
<footer>
<p class="published">
<time class="dt-published" datetime="{{ post.pubtime }}">{{ post.pubdate }}</time>
</p>
<p class="shorturl">
<a href="/{{ post.shortslug }}">{{ site.url }}/{{ post.shortslug }}</a>
</p>
{% include 'block_author.html' %}
<p class="hide">
<a class="u-url u-uuid" rel="bookmark" href="{{ site.url}}/{{ post.slug }}/"></a>
</p>
</footer>
</article>
<aside class="content-note">
<hr />
<p class="license">
{% if post.licence.text == 'CC BY 4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/" class="hide u-license">CC BY 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
Licensed under <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International</a>. You are free to share or republish, even if modified, if you link back here and indicate the modifications, even for commercial use.
{% elif post.licence.text == 'CC BY-NC 4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/" class="hide u-license">CC BY-NC 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
Licensed under <a href="https://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution-NonCommercial 4.0 International</a>. You are free to share or republish, even if modified, if you link back here and indicate the modifications, for non commercial use. For commercial use please contact the author.
{% else %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" class="hide u-license">CC BY-NC-ND 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
Licensed under <a href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International</a>. You are free to share if you link back here for non commercial use, but you can\'t publish any altered versions of it. For commercial use please contact the author.
{% endif %}
</p>
</aside>
</section>
{% include 'block_footer.html' %}

View file

@ -0,0 +1,30 @@
{% if post.is_bookmark %}
<p class="p-name">{{ post.title }}</p>
<p>
<svg class="icon"><use xlink:href="#icon-bookmark" /></svg>
<a href="{{ post.is_bookmark }}" class="u-bookmark-of" title="Bookmarked URL: {{ post.is_bookmark }}">
{{ post.is_bookmarkl }}
</a>
</p>
{% elif post.is_fav %}
<p class="p-name">{{ post.title }}</p>
<p>
<svg class="icon"><use xlink:href="#icon-repost" /></svg>
<a href="{{ post.is_fav }}" class="u-favorite-of" title="Favorite of: {{ post.is_fav }}">
{{ post.is_fav }}
</a>
</p>
{% elif post.is_reply %}
<p class="p-name">
<svg class="icon"><use xlink:href="#icon-reply" /></svg>
<a href="{{ post.is_reply }}" class="u-in-reply-to" title="Reply to: {{ post.is_reply }}">
{{ post.is_reply }}
</a>
</p>
{% else %}
<p>
<a href="/{{ post.slug }}/" title="{{ post.title }}">
<span class="entry-title p-name">{{ post.title }}</span>
</a>
</p>
{% endif %}

35
templates/WebImage.html Normal file
View file

@ -0,0 +1,35 @@
<figure class="photo">
{% if photo.target %}<a href="{{ photo.target }}" class="{{ photo.css }}">{% endif %}
<img src="{{ photo.src }}" title="{{ photo.title }}" alt="{{ photo.alt }}" class="adaptimg" />
{% if photo.target %}</a>{% endif %}
<figcaption>
{{ photo.alt }}{% if photo.is_photo %}<span class="author"> - photo by {{ photo.author }}</span>
<dl class="exif">
{% if photo.exif.camera %}
<dt>Camera</dt>
<dd><svg class="icon"><use xlink:href="#icon-camera" /></svg>{{ photo.exif.camera }}</dd>
{% endif %}
{% if photo.exif.aperture %}
<dt>Aperture</dt>
<dd><svg class="icon"><use xlink:href="#icon-aperture" /></svg>f/{{ photo.exif.aperture }}</dd>
{% endif %}
{% if photo.exif.shutter_speed %}
<dt>Shutter speed</dt>
<dd><svg class="icon"><use xlink:href="#icon-clock" /></svg>{{ photo.exif.shutter_speed }} sec</dd>
{% endif %}
{% if photo.exif.focal_length %}
<dt>Focal length (as set)</dt>
<dd><svg class="icon"><use xlink:href="#icon-focallength" /></svg>{{ photo.exif.focal_length }} mm</dd>
{% endif %}
{% if photo.exif.iso %}
<dt>Sensitivity</dt>
<dd><svg class="icon"><use xlink:href="#icon-sensitivity" /></svg>ISO {{ photo.exif.iso }}</dd>
{% endif %}
{% if photo.exif.lens %}
<dt>Lens</dt>
<dd><svg class="icon"><use xlink:href="#icon-lens" /></svg>{{ photo.exif.lens }}</dd>
{% endif %}
</dl>
{% endif %}
</figcaption>
</figure>

View file

@ -0,0 +1,23 @@
{% include 'block_header_open.html' %}
{% include 'block_header_close.html' %}
<section class="content-body">
{% for tname, posts in taxonomies %}
<details>
<summary>{{ tname }} [{{ posts|length }}]</summary>
<ol>
{% for post in posts %}
<li>
{{ post.title }}
<br />
<a href="{{ post.url }}" title="{{ post.title }}">
{{ post.url }}
</a>
</li>
{% endfor %}
</ol>
</details>
{% endfor %}
</section>
{% include 'block_footer.html' %}

View file

@ -0,0 +1,5 @@
<p class="p-author h-card vcard">
<img class="photo avatar u-photo u-avatar" src="{{ site.author.avatar }}" alt="Photo of {{ site.author.name }}" />
<a class="fn p-name url u-url u-uid" href="{{ site.author.url }}">{{ site.author.name }}</a>
&lt;<a rel="me" class="u-email email" href="mailto:{{ site.author.email }}">{{ site.author.email }}</a>&gt;
</p>

View file

@ -0,0 +1,48 @@
<footer class="content-footer" id="main-footer">
<div class="limit">
<nav class="footer-contact p-author h-card vcard">
<img class="photo avatar u-photo u-avatar" src="{{ site.author.avatar }}" alt="Photo of {{ site.author.name }}" />
<dl>
<dt>name</dt>
<dd>
<a class="fn p-name url u-url u-uid" href="{{ site.author.url }}/about">{{ site.author.name }}</a>
</dd>
<dt>email</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-email" /></svg>
<a rel="me" class="u-email email" href="mailto:{{ site.author.email }}">{{ site.author.email }}</a>
</dd>
<dt>GPG/PGP public key</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-key" /></svg>
<a rel="me" class="u-gpg gpg" href="{{ site.url }}/pgp.asc"> {{ site.author.gpg }}</a>
</dd>
{% for silo, url in site.author.socials.items() %}
<dt>{{ silo }}</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-{{ silo }}" /></svg>
<a rel="me" class="u-{{ silo }} url u-url" href="{{ url }}">{{ silo }}</a>
</dd>
{% endfor %}
<dt>Feed</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-rss" /></svg>
<a title="Feed" href="{{ site.url }}/feed/">Feed</a>
</dd>
<dt>CV</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-note" /></svg>
<a class="u-url u-resume" href="{{ site.author.url }}/cv">CV</a>
</dd>
</dl>
</nav>
<aside class="footer-notes p-note">
{{ site.author.note }}
</aside>
</div>
</footer>
</body>
</html>

View file

@ -0,0 +1,81 @@
<style media="all">
{% include 'style-dark.css' %}
</style>
</head>
<body>
{% include 'symbols.svg' %}
<header class="content-header" id="main-header">
<nav class="content-navigation">
<ul>
<li>
{% set cssclass = '' %}
{% if taxonomy is defined and taxonomy.name == '' %}
{% set cssclass = 'active' %}
{% endif %}
<a title="home" href="/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-home" /></svg>
home
</a>
</li>
{% set cssclass = '' %}
{% if (post is defined and post.category == 'photo' ) or ( taxonomy is defined and taxonomy.slug == 'photo' ) %}
{% set cssclass = 'active' %}
{% endif %}
<li>
<a title="photos" href="/category/photo/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-photo" /></svg>
photos
</a>
</li>
{% set cssclass = '' %}
{% if (post is defined and post.category == 'journal' ) or ( taxonomy is defined and taxonomy.slug == 'journal' ) %}
{% set cssclass = 'active' %}
{% endif %}
<li>
<a title="journal" href="/category/journal/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-journal" /></svg>
journal
</a>
</li>
{% set cssclass = '' %}
{% if (post is defined and post.category == 'article' ) or ( taxonomy is defined and taxonomy.slug == 'article' ) %}
{% set cssclass = 'active' %}
{% endif %}
<li>
<a title="IT" href="/category/article/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-article" /></svg>
IT
</a>
</li>
{% set cssclass = '' %}
{% if (post is defined and post.category == 'note' ) or ( taxonomy is defined and taxonomy.slug == 'note' ) %}
{% set cssclass = 'active' %}
{% endif %}
<li>
<a title="notes" href="/category/note/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-note" /></svg>
notes
</a>
</li>
{% set cssclass = '' %}
{% if (post is defined and post.category == 'bookmark' ) or ( taxonomy is defined and taxonomy.slug == 'bookmark' ) %}
{% set cssclass = 'active' %}
{% endif %}
<li>
<a title="bookmarks" href="/category/bookmark/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-bookmark" /></svg>
bookmarks
</a>
</li>
</ul>
</nav>
<form role="search" method="get" class="search-form" action="/search">
<label for="search" class="hide">Search</label>
<input type="search" class="search-field" placeholder="search..." value="" name="s" id="s" title="Search for:" />
<input type="submit" class="search-submit" value="Go ➡" />
</form>
<br class="clear" />
</header>

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html{% if post and post.lang %} lang="{{ post.lang }}"{% endif %}>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" />
<link rel="icon" href="{{ site.url }}/favicon.ico" />
<link rel="http://webmention.org/" href="{{ site.url }}/webmention" />
<link rel="webmention" href="{{ site.url }}/webmention" />
<link rel="micropub" href="{{ site.url }}/micropub" />
<link rel="authorization_endpoint" href="https://indieauth.com/auth" />
<link rel="token_endpoint" href="https://tokens.indieauth.com/token" />
<link rel="hub" href="https://petermolnar.superfeedr.com/">

36
templates/comment.html Normal file
View file

@ -0,0 +1,36 @@
{% include 'block_header_open.html' %}
<title>comment #{{ reply.id }} | {{ site.domain }}</title>
<link rel="canonical" href="{{ site.url }}/{{ site.commentspath }}/{{ reply.fname }}/" />
<meta name="author" content="{{ reply.author.name }}">
{% include 'block_header_close.html' %}
<section class="content-body">
<article class="h-entry p-comment">
<a class="u-url u-uuid" href="{{ site.url }}/{{ site.commentspath }}/{{ reply.fname }}/"></a>
<header>
<div class="p-author h-card">
{% if reply.author.url %}
<a class="url u-url" href="{{ reply.author.url }}">
<span class="p-name fn">{{ reply.author.name }}</span>
</a>
{% else %}
<span class="p-name fn">{{ reply.author.name }}</span>
{% endif %}
</div>
<time class="dt-published" datetime="{{ reply.published|date('c') }}">
{{ reply.published|date('%Y-%m-%d %H:%M') }}
</time>
</header>
<div class="e-content">
{{ reply.html }}
</div>
<footer>
{% if reply.source|length > 0 %}
<a href="{{ reply.source }}" class="u-repost-of">{{ reply.source }}</a>
{% endif %}
<a class="u-in-comment-to" href="{{ reply.target }}"></a>
</footer>
</article>
</section>
{% include 'block_footer.html' %}

32
templates/page.html Normal file
View file

@ -0,0 +1,32 @@
{% include 'block_header_open.html' %}
{% if post.title %}
<title>{{ post.title }} | {{ site.domain }}</title>
{% else %}
<title>{{ post.name }} | {{ site.domain }}</title>
{% endif %}
{% include 'block_header_close.html' %}
<section class="content-body">
<article class="h-entry singular">
<header>
<div class="content-inner hide">
<h1>
<a class="u-url" href="/{{ post.slug }}" rel="bookmark" title="{{ post.title }}">
<span class="p-name">{{ post.title }}</span>
</a>
</h1>
</div>
</header>
<div class="e-content">
<div class="content-inner">
{{ post.html }}
<br class="clear" />
</div>
</div>
</article>
</section>
{% include 'block_footer.html' %}

776
templates/style-dark.css Normal file
View file

@ -0,0 +1,776 @@
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
html, body {
min-height: 100%;
font-size:19px;
line-height: 1.2rem;
font-family: "Liberation Sans", "Helvetica Neue", "Roboto", "Arial", sans-serif;
font-weight: normal;
color: #999999;
text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
background-color: #222;
}
html {
position: relative;
}
a {
color: #cccccc;
text-decoration:none;
}
a:hover {
color: #fff;
}
b, strong {
font-weight:bold;
}
em {
font-style: italic;
}
p {
padding: 0.6rem 0;
}
li {
margin-left: 1.3rem;
}
ul li {
line-height: 1.6rem;
}
li p {
margin:0;
padding: 0;
}
blockquote {
margin: 0.3rem;
padding-left: 0.6rem;
font-style: italic;
border-left: 2px solid #999;
color: #666;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td, th {
padding: 0.3rem;
border: 1px solid #333;
}
th {
font-weight: bold;
}
hr {
display: block;
height: 1px;
border: none;
border-top: 1px solid #999;
margin: 1.3rem 0 1rem 0;
clear:both;
}
.limit,
.content-body {
max-width: 70ch;
margin: 1rem auto;
}
.h-entry {
padding: 0 0.6rem;
font-size: 0.86rem;
}
h1, h2, h3, h4, h5, h6, dt {
font-weight:bold;
clear:both;
font-size: 1rem;
}
h1, h2, h3, h4, h5, h6 {
margin: 1.3rem 0 0.3rem 0;
padding: 0 0 0.3rem 0;
}
h1 {
font-size: 1.2rem;
margin-top: 0;
}
h2 {
font-size: 1.1rem;
border-bottom: 2px solid #999;
}
h3 {
font-size: 1rem;
}
.h-feed .h-entry h2 {
border: none;
font-size: 1rem;
margin: 0;
padding: 0;
}
.h-feed .h-entry {
margin: 2rem 0 0 0;
padding: 1rem;
border-bottom: 2px solid #333;
}
.h-entry footer {
opacity: 0.8;
}
.h-entry footer p {
padding: 0.3rem 0;
}
.h-entry footer .vcard img {
height: 1rem;
vertical-align: text-bottom;
}
.published, .updated {
display: inline;
}
.content-note a,
.e-content a {
color:#3173C4;
}
.content-note a:hover,
.e-content a:hover {
color:#004283;
}
.icon {
transform: rotate(0.01deg);
width: 19px;
height: 19px;
display: inline;
fill: currentColor;
vertical-align:middle;
overflow: visible;
}
code.sourceCode span.al { color: black; }
code.sourceCode span.at { color: black; }
code.sourceCode span.bn { color: black; }
code.sourceCode span.bu { color: black; }
code.sourceCode span.cf { color: black; }
code.sourceCode span.ch { color: black; }
code.sourceCode span.co { color: darkgray; }
code.sourceCode span.dt { color: black; }
code.sourceCode span.dv { color: black; }
code.sourceCode span.er { color: black; }
code.sourceCode span.ex { color: darkorange; }
code.sourceCode span.fl { color: black; }
code.sourceCode span.fu { color: darkorange; }
code.sourceCode span.im { color: black; }
code.sourceCode span.kw { color: darkcyan; }
code.sourceCode span.op { color: black; }
code.sourceCode span.ot { color: black; }
code.sourceCode span.pp { color: black; }
code.sourceCode span.sc { color: black; }
code.sourceCode span.ss { color: black; }
code.sourceCode span.st { color: magenta; }
code.sourceCode span.va { color: darkturquoise; }
code,
pre {
font-family: "Inconsolata", monospace;
font-size: 0.8rem;
color: darkslategrey;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
tab-size: 2;
hyphens: none;
border: 1px solid #ccc;
background-color: whitesmoke;
}
pre {
padding: 0.3rem;
margin: 0.6rem 0;
overflow: auto;
}
code {
display: inline-block;
padding: 0 0.3rem;
line-height: 1.1rem;
}
pre code {
background-color: transparent;
border: none;
padding: 0;
}
.singular footer {
margin: 2rem 0;
}
.footnoteRef,
.footnoteRef:hover {
border: 0;
white-space: nowrap;
}
.footnoteRef a {
border: none;
}
.footnoteRef sup {
vertical-align: baseline;
position: relative;
top: -0.3rem;
font-size: 0.8rem;
margin-right: 0.1rem;
}
.footnoteRef sup:before,
.footnoteRef sup:after {
color: #33c;
}
.footnotes ol li {
margin-bottom: 0.3rem;
}
.comments ol .u-repost-of,
.footnotes ol li a {
display: inline-block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
vertical-align: top;
max-width: 80%;
}
.footnotes ol li a[href^="#"] {
margin: 0 0 0 0.6rem;
max-width: 20%;
font-size: 0.6rem;
}
.footnotes ol li a[href^="#"]:after {
content: "back to text";
margin: 0 0 0 0.2rem;
color: #666;
}
.footnotes ol li a[href^="#"]:hover:after {
color: #000;
}
.content-header,
.content-footer {
background-color: #333336;
color: #bbb;
}
.content-header a,
.content-footer a {
color: #cccccc;
border: none;
}
.content-header a:hover,
.content-footer a:hover {
color: #fefefe;
border: none;
}
.content-footer {
margin-top: 2rem;
padding: 1rem 0;
}
.footer-contact,
.footer-notes {
display: block;
padding: 1rem;
font-size: 0.9rem;
}
.footer-contact dl,
.footer-contact img {
display: inline-block;
vertical-align: top;
}
.footer-contact dl {
width: 80%;
padding-left: 1rem;
}
.footer-contact img {
width: 18%;
}
.footer-contact .p-name {
font-size: 1.1rem;
font-variant: small-caps;
}
.footer-contact dl dt {
display:none;
visibility: hidden;
}
.footer-contact dl dd {
line-height: 2rem;
border-bottom: 1px solid #666;
}
.footer-contact dl dd:first-of-type {
border-bottom: none;
}
.footer-notes figure {
display: inline-block;
margin-right: 1rem;
}
.footer-notes figure img {
width:7rem;
}
input {
vertical-align:middle;
border: none;
border-bottom: 3px solid #aaa;
background-color: transparent;
color: #ccc;
height: 1.6rem;
width: 6rem;
font-size: 0.8rem;
}
input[type=submit] {
width: 2.2rem;
cursor: pointer;
}
input:focus,
input[type=submit]:hover {
border-bottom: 3px solid #fff;
color: #fff;
}
.search-form {
display: block;
padding: 0.3rem 0.1rem;
text-align: center;
}
.content-navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
text-align:center;
}
.content-navigation ul li {
margin:0;
padding: 0.3rem 0.3rem 0.3rem 0;
display: inline-block;
text-align: center;
}
.content-navigation ul li a {
display:block;
padding:0 0.2rem;
font-weight: bold;
border-bottom: 3px solid transparent;
text-align: center;
font-size: 0.7rem;
}
.content-navigation ul li a svg {
display:block;
margin: auto;
}
.content-navigation ul li a.active {
border-bottom: 3px solid #ccc;
}
.content-navigation ul li a:hover {
border-bottom: 3px solid #fefefe;
}
/* above is mobile first; this is the desktop */
@media all and (min-width: 50rem) {
.content-navigation ul li a {
font-size: 0.9rem;
}
.content-navigation ul li a svg {
display:inline-block;
}
.search-form,
.content-navigation {
display:inline-block;
}
.search-form {
float:right;
margin: 0.1rem;
}
.footer-contact,
.footer-notes {
display: inline-block;
max-width: 48%;
padding: 1rem;
vertical-align: top;
}
}
figure {
background-color: #333;
margin: 0.6rem 0;
padding: 0.6rem 0 0 0;
}
figcaption {
padding: 0.6rem;
margin: 0.6rem 0 0 0;
background-color: #444;
text-align: left;
}
.favurl img,
.adaptimg {
display: block;
max-height: 98vh;
max-width: 100%;
width:auto;
height:auto;
margin: 0.3rem auto;
padding: 0;
outline: 1px solid #111;
}
.follow {
cursor:pointer;
display:block;
text-align:right;
margin: 0.6rem 0;
font-size: 0.8rem;
}
.follow a,
.more a,
.pagination a {
padding: 0 0 0.3rem 0;
border-bottom: 3px solid #999;
}
.follow a:hover,
.more a:hover,
.pagination a:hover {
border-bottom-color: #000;
}
.more {
display:block;
font-weight:bold;
}
.more a:before {
content:'Continue \00BB';
}
.pagination ul {
text-align:center;
list-style-type: none;
font-size: 1.2rem;
}
.pagination li {
display:inline-block;
}
.pagination a,
.pagination span {
padding: 0.3rem 0.6rem;
}
time {
font-size: 0.8rem;
}
.exif {
font-size: 0.7rem;
font-family: mono;
letter-spacing: -0.04rem;
}
.hide,
.comments .u-uuid,
.comments dl time,
.exif dt {
display: none;
visibility: hidden;
}
.exif dd {
display: inline-block;
margin: 0 0.3rem;
}
.exif dd i {
margin-right: 0.3rem;
}
/* replies */
.comments ol .e-content,
.comments ol {
margin: 1rem 0 0 1rem;
}
.comments ol li {
margin-bottom: 1.3rem;
}
.comments ol .p-name {
font-weight: bold;
display: block;
}
.comments ol time,
.comments ol .u-repost-of {
font-size: 0.8rem;
margin: 0;
}
.comments ol .u-repost-of:before {
content: '\2022';
margin: 0 0.3rem;
}
.comments dt,
.comments dd,
.comments dl ul,
.comments dl li {
display: inline;
}
.comments dl li {
margin:0;
padding:0 0.3rem;
}
.comments dl a.u-repost-of {
margin-left: 0.3rem;
}
.content-note {
font-size: 0.8rem;
}
.w25,
.w33 {
display: inline-block;
height: auto;
}
.w33 {
width: 32%;
}
.w25 {
width: 24%;
}
.favurl img {
z-index:1;
opacity: 0.5;
}
.favurl,
.favurl:hover {
border: none;
position: relative;
display: block;
}
.favurl::after,
.favurl:hover::after {
display: block;
position: absolute;
opacity: 0.9;
right: 0;
left: 0;
bottom: 1rem;
content:attr(href);
padding: 0.5rem 1rem;
font-weight: bold;
color: #fff;
background-color: #000;
}
.favurl:hover::after {
opacity: 0.8;
}
.u-favorite-of {
font-size: 0.9rem;
font-weight: initial;
}
.u-in-reply-to::before {
content: 'RE:';
dislay: inline-block;
margin-right: 0.3rem;
font-weight: bold;
}
.search-section {
margin-bottom: 1rem;
}
.search-section summary {
border-bottom: 2px solid #999;
padding: 0.3rem 0;
font-weight: bold;
}
.search-section li {
margin: 1rem 0.6rem;
}
@media print {
* {
background-color: #fff !important;
}
html, body {
font-size: 10pt !important;
text-shadow: unset !important;
}
@page {
margin: 0.5in;
orphans: 4;
widows: 3;
}
.limit,
.content-body {
max-width: 100% !important;
margin: 0 !important;
}
h1, h2, h3, h4, h5, h6 {
page-break-after: avoid;
}
p, li, pre, blockquote, aside, .footnotes {
page-break-inside: avoid !important;
}
a {
border: none;
}
.e-content .photo {
display:block;
page-break-inside: avoid !important;
}
.e-content .adaptive {
display:block;
max-width: 100%;
max-height: 45vh;
text-align:center;
border:none;
text-decoration:none;
padding:0;
margin: 1rem auto;
page-break-inside: avoid !important;
}
.e-content .adaptive img {
page-break-inside: avoid !important;
max-width: 100%;
max-height:45vh;
}
.content-note, .content-header, .content-footer,
video, audio,
.footnotes ol li a[href^="#"],
.footnotes ol li a[href^="#"]:after {
display:none;
visibility: hidden;
}
.footnotes ol li a {
display: block;
overflow: visible;
white-space: normal;
border: none;
}
code.sourceCode span { color: #000; }
pre.sourceCode, code, pre {
color: #222;
word-break: break-all;
word-wrap: break-word;
overflow: initial;
line-height: 1rem;
}
}

828
templates/style.css Normal file
View file

@ -0,0 +1,828 @@
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
html, body {
min-height: 100%;
font-size:19px;
line-height: 1.2rem;
font-family: "Liberation Sans", "Helvetica Neue", "Roboto", "Arial", sans-serif;
font-weight: normal;
color: #333336;
text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
background-color: #fafafa;
}
html {
position: relative;
}
a {
color: #333;
text-decoration:none;
}
a:hover {
color: #000;
text-decoration: underline;
}
b, strong {
font-weight:bold;
}
em {
font-style: italic;
}
p {
padding: 0.6rem 0;
}
li {
margin-left: 1.3rem;
}
ul li {
line-height: 1.6rem;
}
li p {
margin:0;
padding: 0;
}
blockquote {
margin: 0.3rem;
padding-left: 0.6rem;
font-style: italic;
border-left: 2px solid #999;
color: #666;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td, th {
padding: 0.3rem;
border: 1px solid #333;
}
th {
font-weight: bold;
}
hr {
display: block;
height: 1px;
border: none;
border-top: 1px solid #999;
margin: 1.3rem 0 1rem 0;
clear:both;
}
.limit,
.content-body {
max-width: 70ch;
margin: 1rem auto;
}
.h-entry {
padding: 0 0.6rem;
font-size: 0.86rem;
}
h1, h2, h3, h4, h5, h6, dt {
font-weight:bold;
clear:both;
font-size: 1rem;
}
h1, h2, h3, h4, h5, h6 {
margin: 1.3rem 0 0.3rem 0;
padding: 0 0 0.3rem 0;
}
h1 {
font-size: 1.2rem;
margin-top: 0;
}
h2 {
font-size: 1.1rem;
border-bottom: 2px solid #999;
}
h3 {
font-size: 1rem;
}
.h-feed .h-entry h2 {
border: none;
font-size: 1rem;
margin: 0;
padding: 0;
}
.h-feed .h-entry {
margin: 2rem 0 0 0;
}
.h-entry footer {
opacity: 0.8;
}
.h-entry footer p {
padding: 0.3rem 0;
}
.h-entry footer .vcard img {
height: 1rem;
vertical-align: text-bottom;
}
.published, .updated {
display: inline;
}
.content-info {
border: 2px dotted #777;
padding: 1rem;
font-variant: small-caps;
text-align: center;
}
.content-info form {
margin-top: 1rem;
}
.content-info label,
.content-info input,
.content-info textarea {
display: inline-block;
margin: 0 0 1rem 0;
vertical-align:bottom;
text-align: left;
}
.content-info label {
width: 30%;
border-bottom: 2px dotted #777;
font-size: 0.9rem;
}
.content-info textarea {
border: 2px dotted #777;
padding: 0.3rem;
min-height: 4rem;
}
.content-info input,
.content-info textarea {
width: 60%;
border-bottom: 2px dotted #777;
color: #333;
font-size: 0.8rem;
}
.content-info input:active,
.content-info input:focus,
.content-info textarea:active,
.content-info textarea:focus {
color: #111;
border-bottom: 2px solid #111;
}
.content-info textarea:active,
.content-info textarea:focus {
border: 2px solid #111;
}
.content-info a,
.content-note a,
.e-content a {
color:#115394;
}
.content-info a:hover,
.content-note a:hover,
.e-content a:hover {
color:#004283;
text-decoration: underline;
}
.icon {
transform: rotate(0.01deg);
width: 19px;
height: 19px;
display: inline;
fill: currentColor;
vertical-align:middle;
overflow: visible;
}
code.sourceCode span.al { color: black; }
code.sourceCode span.at { color: black; }
code.sourceCode span.bn { color: black; }
code.sourceCode span.bu { color: black; }
code.sourceCode span.cf { color: black; }
code.sourceCode span.ch { color: black; }
code.sourceCode span.co { color: darkgray; }
code.sourceCode span.dt { color: black; }
code.sourceCode span.dv { color: black; }
code.sourceCode span.er { color: black; }
code.sourceCode span.ex { color: darkorange; }
code.sourceCode span.fl { color: black; }
code.sourceCode span.fu { color: darkorange; }
code.sourceCode span.im { color: black; }
code.sourceCode span.kw { color: darkcyan; }
code.sourceCode span.op { color: black; }
code.sourceCode span.ot { color: black; }
code.sourceCode span.pp { color: black; }
code.sourceCode span.sc { color: black; }
code.sourceCode span.ss { color: black; }
code.sourceCode span.st { color: magenta; }
code.sourceCode span.va { color: darkturquoise; }
code,
pre {
font-family: "Inconsolata", monospace;
font-size: 0.8rem;
color: darkslategrey;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
tab-size: 2;
hyphens: none;
border: 1px solid #ccc;
background-color: whitesmoke;
}
pre {
padding: 0.3rem;
margin: 0.6rem 0;
overflow: auto;
}
code {
display: inline-block;
padding: 0 0.3rem;
line-height: 1.1rem;
}
pre code {
background-color: transparent;
border: none;
padding: 0;
}
.singular footer {
margin: 2rem 0;
}
.footnoteRef,
.footnoteRef:hover {
border: 0;
white-space: nowrap;
}
.footnoteRef a {
border: none;
}
.footnoteRef sup {
vertical-align: baseline;
position: relative;
top: -0.3rem;
font-size: 0.8rem;
margin-right: 0.1rem;
}
.footnoteRef sup:before,
.footnoteRef sup:after {
color: #33c;
}
.footnotes ol li {
margin-bottom: 0.3rem;
}
.comments ol .u-repost-of,
.footnotes ol li a {
display: inline-block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
vertical-align: top;
max-width: 80%;
}
.footnotes ol li a[href^="#"] {
margin: 0 0 0 0.6rem;
max-width: 20%;
font-size: 0.6rem;
}
.footnotes ol li a[href^="#"]:after {
content: "back to text";
margin: 0 0 0 0.2rem;
color: #666;
}
.footnotes ol li a[href^="#"]:hover:after {
color: #000;
}
.content-header,
.content-footer {
background-color: #333336;
color: #bbb;
}
.content-header a,
.content-footer a {
color: #cccccc;
border: none;
}
.content-header a:hover,
.content-footer a:hover {
color: #fefefe;
border: none;
text-decoration: none;
}
.content-footer {
margin-top: 2rem;
padding: 1rem 0;
}
.footer-contact,
.footer-notes {
display: block;
padding: 1rem;
font-size: 0.9rem;
}
.footer-contact dl,
.footer-contact img {
display: inline-block;
vertical-align: top;
}
.footer-contact dl {
width: 80%;
padding-left: 1rem;
}
.footer-contact img {
width: 18%;
}
.footer-contact .p-name {
font-size: 1.1rem;
font-variant: small-caps;
}
.footer-contact dl dt {
display:none;
visibility: hidden;
}
.footer-contact dl dd {
line-height: 2rem;
border-bottom: 1px solid #666;
}
.footer-contact dl dd:first-of-type {
border-bottom: none;
}
.footer-notes figure {
display: inline-block;
margin-right: 1rem;
}
.footer-notes figure img {
width:7rem;
}
input {
vertical-align:middle;
border: none;
border-bottom: 3px solid #aaa;
background-color: transparent;
color: #ccc;
height: 1.6rem;
width: 6rem;
font-size: 0.8rem;
}
input[type=submit] {
width: 2.2rem;
cursor: pointer;
}
input:focus,
input[type=submit]:hover {
border-bottom: 3px solid #fff;
color: #fff;
}
.search-form {
display: block;
padding: 0.3rem 0.1rem;
text-align: center;
}
.content-navigation ul {
list-style-type: none;
margin: 0;
padding: 0;
text-align:center;
}
.content-navigation ul li {
margin:0;
padding: 0.3rem 0.3rem 0.3rem 0;
display: inline-block;
text-align: center;
}
.content-navigation ul li a {
display:block;
padding:0 0.2rem;
font-weight: bold;
border-bottom: 3px solid transparent;
text-align: center;
font-size: 0.7rem;
}
.content-navigation ul li a svg {
display:block;
margin: auto;
}
.content-navigation ul li a.active {
border-bottom: 3px solid #ccc;
}
.content-navigation ul li a:hover {
border-bottom: 3px solid #fefefe;
}
@media all and (min-width: 50rem) {
.content-navigation ul li a {
font-size: 0.9rem;
}
.content-navigation ul li a svg {
display:inline-block;
}
.search-form,
.content-navigation {
display:inline-block;
}
.search-form {
float:right;
margin: 0.1rem;
}
.footer-contact,
.footer-notes {
display: inline-block;
max-width: 48%;
padding: 1rem;
vertical-align: top;
}
}
.favurl img,
.adaptimg {
display: block;
max-height: 98vh;
max-width: 100%;
width:auto;
height:auto;
margin: 0.6rem auto;
padding: 0;
outline: 1px solid #333;
}
.follow {
cursor:pointer;
display:block;
text-align:right;
margin: 0.6rem 0;
font-size: 0.8rem;
}
.follow a,
.more a,
.pagination a {
padding: 0 0 0.3rem 0;
border-bottom: 3px solid #999;
}
.follow a:hover,
.more a:hover,
.pagination a:hover {
border-bottom-color: #000;
text-decoration:none;
}
.more {
display:block;
font-weight:bold;
}
.more a:before {
content:'Continue \00BB';
}
.pagination ul {
text-align:center;
list-style-type: none;
font-size: 1.2rem;
}
.pagination li {
display:inline-block;
}
.pagination a,
.pagination span {
padding: 0.3rem 0.6rem;
}
time {
font-size: 0.8rem;
}
.exif {
font-size: 0.8rem;
text-align:center;
}
.hide,
.comments .u-uuid,
.comments dl time,
.exif dt {
display: none;
visibility: hidden;
}
.exif dd {
display: inline-block;
margin: 0 0.3rem;
}
.exif dd i {
margin-right: 0.3rem;
}
/* replies */
.comments ol .e-content,
.comments ol {
margin: 1rem 0 0 1rem;
}
.comments ol li {
margin-bottom: 1.3rem;
}
.comments ol .p-name {
font-weight: bold;
display: block;
}
.comments ol time {
font-size: 0.8rem;
margin: 0;
}
.comments ol .response_link {
font-size: 0.9rem;
margin: 0;
}
.comments dt,
.comments dd,
.comments dl ul,
.comments dl li {
display: inline;
}
.comments dl li {
margin:0;
padding:0 0.3rem;
}
.comments dl a.u-repost-of {
margin-left: 0.3rem;
}
.content-note {
font-size: 0.8rem;
}
.w25,
.w33 {
display: inline-block;
height: auto;
}
.w33 {
width: 32%;
}
.w25 {
width: 24%;
}
.favurl img {
z-index:1;
opacity: 0.5;
}
.favurl,
.favurl:hover {
border: none;
position: relative;
display: block;
}
.favurl::after,
.favurl:hover::after {
display: block;
position: absolute;
opacity: 0.9;
right: 0;
left: 0;
bottom: 1rem;
content:attr(href);
padding: 0.5rem 1rem;
font-weight: bold;
color: #fff;
background-color: #000;
}
.favurl:hover::after {
opacity: 0.8;
}
.u-favorite-of {
font-size: 0.9rem;
font-weight: initial;
}
.u-in-reply-to::before {
content: 'RE:';
dislay: inline-block;
margin-right: 0.3rem;
font-weight: bold;
}
.searchresult {
margin-bottom: 3rem;
}
.searchresult h3 {
font-weight: normal;
font-family: mono, monospace;
font-size: 0.9rem;
margin: 0 0 1rem 0;
border: none;
}
.searchresult h3:before {
content: "\2937";
}
.searchresult .highlight {
font-size: 0.9rem;
}
@media print {
* {
background-color: #fff !important;
}
html, body {
font-size: 10pt !important;
text-shadow: unset !important;
}
@page {
margin: 0.5in;
orphans: 4;
widows: 3;
}
.limit,
.content-body {
max-width: 100% !important;
margin: 0 !important;
}
h1, h2, h3, h4, h5, h6 {
page-break-after: avoid;
}
p, li, pre, blockquote, aside, .footnotes {
page-break-inside: avoid !important;
}
a {
border: none;
}
.e-content .photo {
display:block;
page-break-inside: avoid !important;
}
.e-content .adaptive {
display:block;
max-width: 100%;
max-height: 45vh;
text-align:center;
border:none;
text-decoration:none;
padding:0;
margin: 1rem auto;
page-break-inside: avoid !important;
}
.e-content .adaptive img {
page-break-inside: avoid !important;
max-width: 100%;
max-height:45vh;
}
.content-note, .content-header, .content-footer,
video, audio,
.footnotes ol li a[href^="#"],
.footnotes ol li a[href^="#"]:after {
display:none;
visibility: hidden;
}
.footnotes ol li a {
display: block;
overflow: visible;
white-space: normal;
border: none;
}
code.sourceCode span { color: #000; }
pre.sourceCode, code, pre {
color: #222;
word-break: break-all;
word-wrap: break-word;
overflow: initial;
line-height: 1rem;
}
}

89
templates/symbols.svg Normal file
View file

@ -0,0 +1,89 @@
<svg class="hide" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-gitlab" width="16" height="16" viewBox="0 0 16 16">
<path d="M0.929 6.304l7.071 9.063-7.75-5.625c-0.214-0.161-0.304-0.438-0.223-0.688l0.902-2.75zM5.054 6.304h5.893l-2.946 9.063zM3.286 0.839l1.768 5.464h-4.125l1.768-5.464c0.098-0.277 0.491-0.277 0.589 0zM15.071 6.304l0.902 2.75c0.080 0.25-0.009 0.527-0.223 0.688l-7.75 5.625 7.071-9.063zM15.071 6.304h-4.125l1.768-5.464c0.098-0.277 0.491-0.277 0.589 0z"></path>
</symbol>
<symbol id="icon-focallength" width="16" height="16" viewBox="0 0 16 16">
<path d="M16 8c0 0.152-0.063 0.295-0.17 0.402l-2.286 2.286c-0.107 0.107-0.25 0.17-0.402 0.17-0.313 0-0.571-0.259-0.571-0.571v-1.143h-9.143v1.143c0 0.313-0.259 0.571-0.571 0.571-0.152 0-0.295-0.063-0.402-0.17l-2.286-2.286c-0.107-0.107-0.17-0.25-0.17-0.402s0.063-0.295 0.17-0.402l2.286-2.286c0.107-0.107 0.25-0.17 0.402-0.17 0.313 0 0.571 0.259 0.571 0.571v1.143h9.143v-1.143c0-0.313 0.259-0.571 0.571-0.571 0.152 0 0.295 0.063 0.402 0.17l2.286 2.286c0.107 0.107 0.17 0.25 0.17 0.402z"></path>
</symbol>
<symbol id="icon-aperture" width="16" height="16" viewBox="0 0 16 16">
<path d="M10.586 6.99l2.845-4.832c-1.428-1.329-3.326-2.158-5.431-2.158-0.499 0-0.982 0.059-1.456 0.146l4.042 6.843zM9.976 10h5.74c0.166-0.643 0.284-1.305 0.284-2 0-1.937-0.715-3.688-1.861-5.072l-4.162 7.072zM8.25 5l-2.704-4.576c-2.25 0.73-4.069 2.399-4.952 4.576h7.656zM7.816 11l2.696 4.559c2.224-0.742 4.020-2.4 4.895-4.559h-7.59zM6.053 6h-5.769c-0.167 0.643-0.283 1.304-0.283 2 0 1.945 0.722 3.705 1.878 5.094l4.175-7.094zM5.459 8.98l-2.872 4.879c1.426 1.316 3.317 2.14 5.413 2.14 0.521 0 1.027-0.059 1.52-0.152l-4.061-6.867z"></path>
</symbol>
<symbol id="icon-home" width="16" height="16" viewBox="0 0 16 16">
<path d="M16 9.226l-8-6.21-8 6.21v-2.532l8-6.21 8 6.21zM14 9v6h-4v-4h-4v4h-4v-6l6-4.5z"></path>
</symbol>
<symbol id="icon-photo" width="18" height="16" viewBox="0 0 18 16">
<path d="M17 2h-1v-1c0-0.55-0.45-1-1-1h-14c-0.55 0-1 0.45-1 1v12c0 0.55 0.45 1 1 1h1v1c0 0.55 0.45 1 1 1h14c0.55 0 1-0.45 1-1v-12c0-0.55-0.45-1-1-1zM2 3v10h-0.998c-0.001-0.001-0.001-0.001-0.002-0.002v-11.996c0.001-0.001 0.001-0.001 0.002-0.002h13.996c0.001 0.001 0.001 0.001 0.002 0.002v0.998h-12c-0.55 0-1 0.45-1 1v0zM17 14.998c-0.001 0.001-0.001 0.001-0.002 0.002h-13.996c-0.001-0.001-0.001-0.001-0.002-0.002v-11.996c0.001-0.001 0.001-0.001 0.002-0.002h13.996c0.001 0.001 0.001 0.001 0.002 0.002v11.996z"></path>
<path d="M15 5.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5 0.672-1.5 1.5-1.5 1.5 0.672 1.5 1.5z"></path>
<path d="M16 14h-12v-2l3.5-6 4 5h1l3.5-3z"></path>
</symbol>
<symbol id="icon-camera" width="16" height="16" viewBox="0 0 16 16">
<path d="M4.75 9.5c0 1.795 1.455 3.25 3.25 3.25s3.25-1.455 3.25-3.25-1.455-3.25-3.25-3.25-3.25 1.455-3.25 3.25zM15 4h-3.5c-0.25-1-0.5-2-1.5-2h-4c-1 0-1.25 1-1.5 2h-3.5c-0.55 0-1 0.45-1 1v9c0 0.55 0.45 1 1 1h14c0.55 0 1-0.45 1-1v-9c0-0.55-0.45-1-1-1zM8 13.938c-2.451 0-4.438-1.987-4.438-4.438s1.987-4.438 4.438-4.438c2.451 0 4.438 1.987 4.438 4.438s-1.987 4.438-4.438 4.438zM15 7h-2v-1h2v1z"></path>
</symbol>
<symbol id="icon-journal" width="16" height="16" viewBox="0 0 16 16">
<path d="M13.5 0h-12c-0.825 0-1.5 0.675-1.5 1.5v13c0 0.825 0.675 1.5 1.5 1.5h12c0.825 0 1.5-0.675 1.5-1.5v-13c0-0.825-0.675-1.5-1.5-1.5zM13 14h-11v-12h11v12zM4 7h7v1h-7zM4 9h7v1h-7zM4 11h7v1h-7zM4 5h7v1h-7z"></path>
</symbol>
<symbol id="icon-contact" width="16" height="16" viewBox="0 0 16 16">
<path d="M13.5 0h-12c-0.825 0-1.5 0.675-1.5 1.5v13c0 0.825 0.675 1.5 1.5 1.5h12c0.825 0 1.5-0.675 1.5-1.5v-13c0-0.825-0.675-1.5-1.5-1.5zM13 14h-11v-12h11v12zM4 9h7v1h-7zM4 11h7v1h-7zM5 4.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5zM7.5 6h-2c-0.825 0-1.5 0.45-1.5 1v1h5v-1c0-0.55-0.675-1-1.5-1z"></path>
</symbol>
<symbol id="icon-note" width="16" height="16" viewBox="0 0 16 16">
<path d="M14.341 3.579c-0.347-0.473-0.831-1.027-1.362-1.558s-1.085-1.015-1.558-1.362c-0.806-0.591-1.197-0.659-1.421-0.659h-7.75c-0.689 0-1.25 0.561-1.25 1.25v13.5c0 0.689 0.561 1.25 1.25 1.25h11.5c0.689 0 1.25-0.561 1.25-1.25v-9.75c0-0.224-0.068-0.615-0.659-1.421zM12.271 2.729c0.48 0.48 0.856 0.912 1.134 1.271h-2.406v-2.405c0.359 0.278 0.792 0.654 1.271 1.134zM14 14.75c0 0.136-0.114 0.25-0.25 0.25h-11.5c-0.135 0-0.25-0.114-0.25-0.25v-13.5c0-0.135 0.115-0.25 0.25-0.25 0 0 7.749-0 7.75 0v3.5c0 0.276 0.224 0.5 0.5 0.5h3.5v9.75z"></path>
<path d="M11.5 13h-7c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h7c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5z"></path>
<path d="M11.5 11h-7c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h7c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5z"></path>
<path d="M11.5 9h-7c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h7c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5z"></path>
</symbol>
<symbol id="icon-location" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 0c-2.761 0-5 2.239-5 5 0 5 5 11 5 11s5-6 5-11c0-2.761-2.239-5-5-5zM8 8c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3z"></path>
</symbol>
<symbol id="icon-clock" width="16" height="16" viewBox="0 0 16 16">
<path d="M10.293 11.707l-3.293-3.293v-4.414h2v3.586l2.707 2.707zM8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6z"></path>
</symbol>
<symbol id="icon-reply" width="16" height="16" viewBox="0 0 16 16">
<path d="M7 12.119v3.881l-6-6 6-6v3.966c6.98 0.164 6.681-4.747 4.904-7.966 4.386 4.741 3.455 12.337-4.904 12.119z"></path>
</symbol>
<symbol id="icon-key" width="16" height="16" viewBox="0 0 16 16">
<path d="M11 0c-2.761 0-5 2.239-5 5 0 0.313 0.029 0.619 0.084 0.916l-6.084 6.084v3c0 0.552 0.448 1 1 1h1v-1h2v-2h2v-2h2l1.298-1.298c0.531 0.192 1.105 0.298 1.702 0.298 2.761 0 5-2.239 5-5s-2.239-5-5-5zM12.498 5.002c-0.828 0-1.5-0.672-1.5-1.5s0.672-1.5 1.5-1.5 1.5 0.672 1.5 1.5-0.672 1.5-1.5 1.5z"></path>
</symbol>
<symbol id="icon-link" width="16" height="16" viewBox="0 0 16 16">
<path d="M6.879 9.934c-0.208 0-0.416-0.079-0.575-0.238-1.486-1.486-1.486-3.905 0-5.392l3-3c0.72-0.72 1.678-1.117 2.696-1.117s1.976 0.397 2.696 1.117c1.486 1.487 1.486 3.905 0 5.392l-1.371 1.371c-0.317 0.317-0.832 0.317-1.149 0s-0.317-0.832 0-1.149l1.371-1.371c0.853-0.853 0.853-2.241 0-3.094-0.413-0.413-0.963-0.641-1.547-0.641s-1.134 0.228-1.547 0.641l-3 3c-0.853 0.853-0.853 2.241 0 3.094 0.317 0.317 0.317 0.832 0 1.149-0.159 0.159-0.367 0.238-0.575 0.238z"></path>
<path d="M4 15.813c-1.018 0-1.976-0.397-2.696-1.117-1.486-1.486-1.486-3.905 0-5.392l1.371-1.371c0.317-0.317 0.832-0.317 1.149 0s0.317 0.832 0 1.149l-1.371 1.371c-0.853 0.853-0.853 2.241 0 3.094 0.413 0.413 0.962 0.641 1.547 0.641s1.134-0.228 1.547-0.641l3-3c0.853-0.853 0.853-2.241 0-3.094-0.317-0.317-0.317-0.832 0-1.149s0.832-0.317 1.149 0c1.486 1.486 1.486 3.905 0 5.392l-3 3c-0.72 0.72-1.678 1.117-2.696 1.117z"></path>
</symbol>
<symbol id="icon-subscribe" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 3c-3.489 0-6.514 2.032-8 5 1.486 2.968 4.511 5 8 5s6.514-2.032 8-5c-1.486-2.968-4.511-5-8-5zM11.945 5.652c0.94 0.6 1.737 1.403 2.335 2.348-0.598 0.946-1.395 1.749-2.335 2.348-1.181 0.753-2.545 1.152-3.944 1.152s-2.763-0.398-3.945-1.152c-0.94-0.6-1.737-1.403-2.335-2.348 0.598-0.946 1.395-1.749 2.335-2.348 0.061-0.039 0.123-0.077 0.185-0.114-0.156 0.427-0.241 0.888-0.241 1.369 0 2.209 1.791 4 4 4s4-1.791 4-4c0-0.481-0.085-0.942-0.241-1.369 0.062 0.037 0.124 0.075 0.185 0.114v0zM8 6.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5 0.672-1.5 1.5-1.5 1.5 0.672 1.5 1.5z"></path>
</symbol>
<symbol id="icon-bookmark" width="16" height="16" viewBox="0 0 16 16">
<path d="M4 2v14l5-5 5 5v-14zM12 0h-10v14l1-1v-12h9z"></path>
</symbol>
<symbol id="icon-sensitivity" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 4c-2.209 0-4 1.791-4 4s1.791 4 4 4 4-1.791 4-4-1.791-4-4-4zM8 10.5v-5c1.379 0 2.5 1.122 2.5 2.5s-1.121 2.5-2.5 2.5zM8 13c0.552 0 1 0.448 1 1v1c0 0.552-0.448 1-1 1s-1-0.448-1-1v-1c0-0.552 0.448-1 1-1zM8 3c-0.552 0-1-0.448-1-1v-1c0-0.552 0.448-1 1-1s1 0.448 1 1v1c0 0.552-0.448 1-1 1zM15 7c0.552 0 1 0.448 1 1s-0.448 1-1 1h-1c-0.552 0-1-0.448-1-1s0.448-1 1-1h1zM3 8c0 0.552-0.448 1-1 1h-1c-0.552 0-1-0.448-1-1s0.448-1 1-1h1c0.552 0 1 0.448 1 1zM12.95 11.536l0.707 0.707c0.39 0.39 0.39 1.024 0 1.414s-1.024 0.39-1.414 0l-0.707-0.707c-0.39-0.39-0.39-1.024 0-1.414s1.024-0.39 1.414 0zM3.050 4.464l-0.707-0.707c-0.391-0.391-0.391-1.024 0-1.414s1.024-0.391 1.414 0l0.707 0.707c0.391 0.391 0.391 1.024 0 1.414s-1.024 0.391-1.414 0zM12.95 4.464c-0.39 0.391-1.024 0.391-1.414 0s-0.39-1.024 0-1.414l0.707-0.707c0.39-0.391 1.024-0.391 1.414 0s0.39 1.024 0 1.414l-0.707 0.707zM3.050 11.536c0.39-0.39 1.024-0.39 1.414 0s0.391 1.024 0 1.414l-0.707 0.707c-0.391 0.39-1.024 0.39-1.414 0s-0.391-1.024 0-1.414l0.707-0.707z"></path>
</symbol>
<symbol id="icon-repost" width="16" height="16" viewBox="0 0 16 16">
<path d="M2 5h10v3l4-4-4-4v3h-12v6h2zM14 11h-10v-3l-4 4 4 4v-3h12v-6h-2z"></path>
</symbol>
<symbol id="icon-lens" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM5 8c0-1.657 1.343-3 3-3s3 1.343 3 3c0 1.657-1.343 3-3 3s-3-1.343-3-3z"></path>
</symbol>
<symbol id="icon-article" width="16" height="16" viewBox="0 0 16 16">
<path d="M0 1v14h16v-14h-16zM15 14h-14v-12h14v12zM14 3h-12v10h12v-10zM7 8h-1v1h-1v1h-1v-1h1v-1h1v-1h-1v-1h-1v-1h1v1h1v1h1v1zM11 10h-3v-1h3v1z"></path>
</symbol>
<symbol id="icon-email" width="16" height="16" viewBox="0 0 16 16">
<path d="M13.333 0h-10.666c-1.467 0-2.667 1.2-2.667 2.667v10.666c0 1.467 1.2 2.667 2.667 2.667h10.666c1.468 0 2.667-1.2 2.667-2.667v-10.666c0-1.467-1.199-2.667-2.667-2.667zM4 4h8c0.143 0 0.281 0.031 0.409 0.088l-4.409 5.143-4.409-5.143c0.127-0.058 0.266-0.088 0.409-0.088zM3 11v-6c0-0.021 0.001-0.042 0.002-0.063l2.932 3.421-2.9 2.9c-0.023-0.083-0.034-0.17-0.034-0.258zM12 12h-8c-0.088 0-0.175-0.012-0.258-0.034l2.846-2.846 1.413 1.648 1.413-1.648 2.846 2.846c-0.083 0.023-0.17 0.034-0.258 0.034zM13 11c0 0.088-0.012 0.175-0.034 0.258l-2.9-2.9 2.932-3.421c0.001 0.021 0.002 0.042 0.002 0.063v6z"></path>
</symbol>
<symbol id="icon-telegram" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 0c-4.419 0-8 3.581-8 8s3.581 8 8 8 8-3.581 8-8-3.581-8-8-8zM11.931 5.484l-1.313 6.184c-0.091 0.441-0.356 0.544-0.725 0.341l-2-1.478-0.959 0.934c-0.112 0.109-0.2 0.2-0.4 0.2-0.259 0-0.216-0.097-0.303-0.344l-0.681-2.237-1.978-0.616c-0.428-0.131-0.431-0.425 0.097-0.634l7.706-2.975c0.35-0.159 0.691 0.084 0.556 0.625z"></path>
</symbol>
<symbol id="icon-rss" width="16" height="16" viewBox="0 0 16 16">
<path d="M14.5 0h-13c-0.825 0-1.5 0.675-1.5 1.5v13c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-13c0-0.825-0.675-1.5-1.5-1.5zM4.359 12.988c-0.75 0-1.359-0.603-1.359-1.353 0-0.744 0.609-1.356 1.359-1.356 0.753 0 1.359 0.613 1.359 1.356 0 0.75-0.609 1.353-1.359 1.353zM7.772 13c0-1.278-0.497-2.481-1.397-3.381-0.903-0.903-2.1-1.4-3.375-1.4v-1.956c3.713 0 6.738 3.022 6.738 6.737h-1.966zM11.244 13c0-4.547-3.697-8.25-8.241-8.25v-1.956c5.625 0 10.203 4.581 10.203 10.206h-1.963z"></path>
</symbol>
<symbol id="icon-flickr" width="16" height="16" viewBox="0 0 16 16">
<path d="M14.5 0h-13c-0.825 0-1.5 0.675-1.5 1.5v13c0 0.825 0.675 1.5 1.5 1.5h13c0.825 0 1.5-0.675 1.5-1.5v-13c0-0.825-0.675-1.5-1.5-1.5zM4.5 10.5c-1.381 0-2.5-1.119-2.5-2.5s1.119-2.5 2.5-2.5 2.5 1.119 2.5 2.5-1.119 2.5-2.5 2.5zM11.5 10.5c-1.381 0-2.5-1.119-2.5-2.5s1.119-2.5 2.5-2.5c1.381 0 2.5 1.119 2.5 2.5s-1.119 2.5-2.5 2.5z"></path>
</symbol>
<symbol id="icon-github" width="16" height="16" viewBox="0 0 16 16">
<path d="M8 0.198c-4.418 0-8 3.582-8 8 0 3.535 2.292 6.533 5.471 7.591 0.4 0.074 0.547-0.174 0.547-0.385 0-0.191-0.008-0.821-0.011-1.489-2.226 0.484-2.695-0.944-2.695-0.944-0.364-0.925-0.888-1.171-0.888-1.171-0.726-0.497 0.055-0.486 0.055-0.486 0.803 0.056 1.226 0.824 1.226 0.824 0.714 1.223 1.872 0.869 2.328 0.665 0.072-0.517 0.279-0.87 0.508-1.070-1.777-0.202-3.645-0.888-3.645-3.954 0-0.873 0.313-1.587 0.824-2.147-0.083-0.202-0.357-1.015 0.077-2.117 0 0 0.672-0.215 2.201 0.82 0.638-0.177 1.322-0.266 2.002-0.269 0.68 0.003 1.365 0.092 2.004 0.269 1.527-1.035 2.198-0.82 2.198-0.82 0.435 1.102 0.162 1.916 0.079 2.117 0.513 0.56 0.823 1.274 0.823 2.147 0 3.073-1.872 3.749-3.653 3.947 0.287 0.248 0.543 0.735 0.543 1.481 0 1.070-0.009 1.932-0.009 2.195 0 0.213 0.144 0.462 0.55 0.384 3.177-1.059 5.466-4.057 5.466-7.59 0-4.418-3.582-8-8-8z"></path>
</symbol>
<symbol id="icon-creditcard" width="16" height="16" viewBox="0 0 16 16">
<path d="M29 4h-26c-1.65 0-3 1.35-3 3v18c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-18c0-1.65-1.35-3-3-3zM3 6h26c0.542 0 1 0.458 1 1v3h-28v-3c0-0.542 0.458-1 1-1zM29 26h-26c-0.542 0-1-0.458-1-1v-9h28v9c0 0.542-0.458 1-1 1zM4 20h2v4h-2zM8 20h2v4h-2zM12 20h2v4h-2z"></path>
</symbol>
<symbol id="icon-creative-commons" width="16" height="16" viewBox="0 0 16 16">
<path d="M5.402 11.009c1.464 0 2.259-0.893 2.295-0.929 0.071-0.089 0.089-0.223 0.027-0.321l-0.402-0.732c-0.036-0.080-0.125-0.134-0.214-0.152-0.089-0.009-0.179 0.027-0.241 0.098-0.009 0-0.571 0.598-1.393 0.598-0.902 0-1.554-0.661-1.554-1.58 0-0.911 0.634-1.563 1.518-1.563 0.741 0 1.232 0.5 1.232 0.5 0.063 0.063 0.143 0.098 0.232 0.089s0.17-0.054 0.214-0.125l0.473-0.696c0.071-0.107 0.063-0.25-0.018-0.348-0.027-0.036-0.75-0.857-2.17-0.857-1.759 0-3.071 1.295-3.071 3.009 0 1.741 1.286 3.009 3.071 3.009zM11.027 11.009c1.473 0 2.259-0.893 2.295-0.929 0.071-0.089 0.089-0.223 0.036-0.321l-0.402-0.732c-0.045-0.080-0.125-0.134-0.223-0.152-0.089-0.009-0.179 0.027-0.241 0.098-0.009 0-0.571 0.598-1.393 0.598-0.902 0-1.554-0.661-1.554-1.58 0-0.911 0.634-1.563 1.518-1.563 0.75 0 1.232 0.5 1.232 0.5 0.063 0.063 0.143 0.098 0.232 0.089s0.17-0.054 0.214-0.125l0.473-0.696c0.071-0.107 0.063-0.25-0.018-0.348-0.027-0.036-0.75-0.857-2.17-0.857-1.75 0-3.071 1.295-3.071 3.009 0 1.741 1.286 3.009 3.071 3.009zM8 1.429c-3.625 0-6.571 2.946-6.571 6.571s2.946 6.571 6.571 6.571 6.571-2.946 6.571-6.571-2.946-6.571-6.571-6.571zM8 0c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8z"></path>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

BIN
templates/watermark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB