Merge branch 'TMP'
Peter Molnar hello@petermolnar.eu
Fri, 06 Oct 2017 22:51:50 +0200
18 files changed,
2350 insertions(+),
0 deletions(-)
jump to
A
templates/Category.html
@@ -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' %}
A
templates/Category_feed.html
@@ -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>
A
templates/MagicPHP.html
@@ -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();
A
templates/Search.html
@@ -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>
A
templates/Singular.html
@@ -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' %}
A
templates/Singular_title.html
@@ -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 %}
A
templates/WebImage.html
@@ -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>
A
templates/archiveindex.html
@@ -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' %}
A
templates/block_header_close.html
@@ -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>
A
templates/block_header_open.html
@@ -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/">
A
templates/comment.html
@@ -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' %}
A
templates/page.html
@@ -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' %}
A
templates/style-dark.css
@@ -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; + } +}
A
templates/style.css
@@ -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; + } +}
A
templates/symbols.svg
@@ -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>