- theme cleanup

- menu is now coming from settings
- content block is emptied in base
- removed unused SVG icons
This commit is contained in:
Peter Molnar 2019-01-21 16:10:27 +00:00
parent c4f56088cc
commit ce9c806274
11 changed files with 507 additions and 472 deletions

33
nasg.py
View file

@ -68,6 +68,15 @@ RE_PRECODE = re.compile(
r'<pre class="([^"]+)"><code>' r'<pre class="([^"]+)"><code>'
) )
#def relurl(url, base=settings.site.get('url')):
#return url
##out = os.path.relpath(url, base)
##if not re.match(r'.*\.[a-z]{2,4}', out):
##out = "%s/index.html" % out
##return out
#J2.filters['relurl'] = relurl
def utfyamldump(data): def utfyamldump(data):
return yaml.dump( return yaml.dump(
data, data,
@ -648,7 +657,7 @@ class Singular(MarkdownDoc):
'summary': self.summary, 'summary': self.summary,
'html_summary': self.html_summary, 'html_summary': self.html_summary,
'html_content': self.html_content, 'html_content': self.html_content,
'mtime': self.mtime, 'mtime': self.dt,
'pubtime': self.published.format(settings.dateformat.get('iso')), 'pubtime': self.published.format(settings.dateformat.get('iso')),
'pubdate': self.published.format(settings.dateformat.get('display')), 'pubdate': self.published.format(settings.dateformat.get('display')),
'year': int(self.published.format('YYYY')), 'year': int(self.published.format('YYYY')),
@ -748,8 +757,10 @@ class Singular(MarkdownDoc):
return return
logger.info("rendering %s", self.name) logger.info("rendering %s", self.name)
r = J2.get_template(self.template).render({ r = J2.get_template(self.template).render({
#'baseurl': self.url,
'post': self.tmplvars, 'post': self.tmplvars,
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'author': settings.author, 'author': settings.author,
'meta': settings.meta, 'meta': settings.meta,
'licence': settings.licence, 'licence': settings.licence,
@ -777,13 +788,23 @@ class Home(Singular):
'index.html' 'index.html'
) )
@property
def dt(self):
maybe = super().dt
for cat, post in self.elements:
if post['mtime'] > maybe:
maybe = post['mtime']
return maybe
async def render(self): async def render(self):
if self.exists: if self.exists:
return return
logger.info("rendering %s", self.name) logger.info("rendering %s", self.name)
r = J2.get_template(self.template).render({ r = J2.get_template(self.template).render({
#'baseurl': settings.site.get('url'),
'post': self.tmplvars, 'post': self.tmplvars,
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'author': settings.author, 'author': settings.author,
'meta': settings.meta, 'meta': settings.meta,
'licence': settings.licence, 'licence': settings.licence,
@ -1266,8 +1287,10 @@ class Search(PHPFile):
async def _render(self): async def _render(self):
r = J2.get_template(self.templatefile).render({ r = J2.get_template(self.templatefile).render({
#'baseurl': settings.site.get('search'),
'post': {}, 'post': {},
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'author': settings.author, 'author': settings.author,
'meta': settings.meta, 'meta': settings.meta,
'licence': settings.licence, 'licence': settings.licence,
@ -1307,6 +1330,7 @@ class IndexPHP(PHPFile):
r = J2.get_template(self.templatefile).render({ r = J2.get_template(self.templatefile).render({
'post': {}, 'post': {},
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'gones': self.gone, 'gones': self.gone,
'redirects': self.redirect 'redirects': self.redirect
}) })
@ -1349,6 +1373,7 @@ class MicropubPHP(PHPFile):
async def _render(self): async def _render(self):
r = J2.get_template(self.templatefile).render({ r = J2.get_template(self.templatefile).render({
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'paths': settings.paths 'paths': settings.paths
}) })
writepath(self.renderfile, r) writepath(self.renderfile, r)
@ -1490,7 +1515,9 @@ class Category(dict):
c = post.published.format(self.trange) c = post.published.format(self.trange)
return { return {
#'baseurl': self.url,
'site': settings.site, 'site': settings.site,
'menu': settings.menu,
'author': settings.author, 'author': settings.author,
'meta': settings.meta, 'meta': settings.meta,
'licence': settings.licence, 'licence': settings.licence,
@ -1506,7 +1533,7 @@ class Category(dict):
'next': n, 'next': n,
'currentyear': arrow.utcnow().format('YYYY') 'currentyear': arrow.utcnow().format('YYYY')
}, },
'posts': posts, 'posts': posts
} }
def indexfpath(self, subpath=None): def indexfpath(self, subpath=None):
@ -1619,7 +1646,7 @@ class Category(dict):
keys = list(by_time.keys()) keys = list(by_time.keys())
for p, c, n in zip([None] + keys[:-1], keys, keys[1:] + [None]): for p, c, n in zip([None] + keys[:-1], keys, keys[1:] + [None]):
form = c.format(self.trange) form = c.format(self.trange)
if arrow.utcnow().format(self.trange) == form: if max(keys) == form:
fpath = self.indexfpath() fpath = self.indexfpath()
else: else:
fpath = self.indexfpath(form) fpath = self.indexfpath(form)

View file

@ -23,6 +23,35 @@ site = {
'journal' 'journal'
], ],
'licence': 'CC-BY-NC-ND-4.0', 'licence': 'CC-BY-NC-ND-4.0',
'search': 'https://petermolnar.net/search.php',
'favicon': 'https://petermolnar.net/favicon.ico'
}
menu = {
'home': {
'url': '%s/' % site['url'],
'text': 'home',
},
'photo': {
'url': '%s/category/photo/' % site['url'],
'text': 'photos',
},
'journal': {
'url': '%s/category/journal/' % site['url'],
'text': 'journal',
},
'article': {
'url': '%s/category/article/' % site['url'],
'text': 'IT',
},
'note': {
'url': '%s/category/note/' % site['url'],
'text': 'notes'
},
'follow': {
'url': '%s/follow/' % site['url'],
'text': 'follow'
}
} }
categorydisplay = { categorydisplay = {
@ -51,13 +80,19 @@ author = {
'url': 'https://petermolnar.net/', 'url': 'https://petermolnar.net/',
'avatar': 'https://petermolnar.net/molnar_peter_avatar.jpg', 'avatar': 'https://petermolnar.net/molnar_peter_avatar.jpg',
'gpg': 'https://petermolnar.net/pgp.asc', 'gpg': 'https://petermolnar.net/pgp.asc',
'cv': 'https://petermolnar.net/about.html', 'cv': 'https://petermolnar.net/cv.html',
'contact': {
'xmpp': 'xmpp:mail@petermolnar.net?message',
'flickr': 'https://flickr.com/people/petermolnareu',
'github': 'https://github.com/petermolnar', 'github': 'https://github.com/petermolnar',
'whatsapp': 'https://wa.me/447592011721', 'about': 'https://petermolnar.net/about/',
'telegram': 'https://t.me/petermolnar', 'following': 'https://petermolnar.net/following.opml',
'tips': {
'monzo': {
'text': 'Monzo (only in the UK or via Google Pay)',
'url': 'https://monzo.me/petermolnar/3'
},
'paypal': {
'text': 'Paypal',
'url': 'https://paypal.me/petermolnar/3GBP'
}
} }
} }

View file

@ -11,10 +11,53 @@
<link rel="alternate" type="application/atom+xml" title="{{ category.title }} ATOM feed" href="{{ category.feed }}atom.xml" /> <link rel="alternate" type="application/atom+xml" title="{{ category.title }} ATOM feed" href="{{ category.feed }}atom.xml" />
<link rel="feed" title="{{ category.title}} feed" href="{{ category.url }}" /> <link rel="feed" title="{{ category.title}} feed" href="{{ category.url }}" />
{% endblock %} {% endblock %}
{% block pagination %}
{% if category.display != 'flat' %}
<nav>
<ul>
{% if category.previous %}
<li>
<a rel="prev" href="{{ category.previous.url }}">
<i>«</i>
<strong>{{ category.previous.label }}</strong>
{% if category.currentyear != category.previous.label %}
Jan - Dec
{% endif %}
</a>
</li>
{% endif %}
<li>
<span class="current">
{{ category.current }}
{% if category.currentyear != category.current %}
Jan - Dec
{% endif %}
</span>
</li>
{% if category.next %}
<li>
<a rel="next" href="{{ category.next.url }}">
<strong>{{ category.next.label }}</strong>
Jan - Dec
<i>»</i>
</a>
</li>
{% endif %}
</ul>
</nav>
{% endif %}
{% endblock %}
{% block content %} {% block content %}
<main class="content-body h-feed hfeed {{ category.name }}" property="h-feed"> <main class="content-body h-feed hfeed {{ category.name }}" property="h-feed">
<header> <header>
<h1 class="p-name" property="p-name">{{ category.name }}</h1> <p>
<svg width="128" height="128"><use xlink:href="#icon-{{ category.name }}" /></svg>
</p>
</header> </header>
@ -22,6 +65,10 @@
{% for post in posts %} {% for post in posts %}
{% set _year = year.pop() %} {% set _year = year.pop() %}
{% if category.display == 'flat' and _year != post.year %} {% if category.display == 'flat' and _year != post.year %}
{% if not loop.first %}
</section>
{% endif %}
<section>
<h2>{{ post.year }}</h2> <h2>{{ post.year }}</h2>
{% endif %} {% endif %}
{% set _ = year.append(post.year)%} {% set _ = year.append(post.year)%}
@ -98,45 +145,9 @@
</p> </p>
</footer> </footer>
</article> </article>
{% if loop.last %}
</section>
{% endif %}
{% endfor %} {% endfor %}
</main> </main>
{% endblock %} {% endblock %}
{% block pagination %}
{% if category.display != 'flat' %}
<nav>
<ul>
{% if category.previous %}
<li>
<a rel="prev" href="{{ category.previous.url }}">
<i>«</i>
<strong>{{ category.previous.label }}</strong>
{% if category.currentyear != category.previous.label %}
Jan - Dec
{% endif %}
</a>
</li>
{% endif %}
<li>
<span class="current">
{{ category.current }}
{% if category.currentyear != category.current %}
Jan - Dec
{% endif %}
</span>
</li>
{% if category.next %}
<li>
<a rel="next" href="{{ category.next.url }}">
<strong>{{ category.next.label }}</strong>
Jan - Dec
<i>»</i>
</a>
</li>
{% endif %}
</ul>
</nav>
{% endif %}
{% endblock %}

View file

@ -1,4 +1,5 @@
{% extends "base.j2.html" %} {% extends "base.j2.html" %}
{% block meta %} {% block meta %}
<meta name="author" content="{{ author.name }} <{{ author.email }}>" /> <meta name="author" content="{{ author.name }} <{{ author.email }}>" />
<meta name="description" content="{{ post.summary|e }}" /> <meta name="description" content="{{ post.summary|e }}" />
@ -9,6 +10,7 @@
<link rel="feed" title="{{ category.title}} feed" href="{{ category.url }}" /> <link rel="feed" title="{{ category.title}} feed" href="{{ category.url }}" />
{% endfor %} {% endfor %}
{% endblock %} {% endblock %}
{% block licence %} {% block licence %}
<link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" /> <link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" />
{% endblock %} {% endblock %}
@ -23,14 +25,15 @@
{% for category, latest in elements %} {% for category, latest in elements %}
<section> <section>
<article class="h-entry hentry singular" property="h-entry" lang="{{ latest.lang }}" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting" itemref="author"> <h2>Latest in
<header>
<h2 class="p-name entry-title" property="p-name" itemprop="name headline" >
Latest in
<a href="{{ category.url }}/"> <a href="{{ category.url }}/">
<svg width="16" height="16"><use xlink:href="#icon-{{ category.name }}" /></svg> <svg width="16" height="16"><use xlink:href="#icon-{{ category.name }}" /></svg>
{{ category.name }} {{ category.name }}
</a><br /> </a>
</h2>
<article class="h-entry hentry singular" property="h-entry" lang="{{ latest.lang }}" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting" itemref="author">
<header>
<h3 class="p-name entry-title" property="p-name" itemprop="name headline" >
{% if latest.is_reply %} {% if latest.is_reply %}
<svg class="icon" width="16" height="16"> <svg class="icon" width="16" height="16">
<use xlink:href="#icon-reply" /> <use xlink:href="#icon-reply" />
@ -46,7 +49,7 @@
<span class="entry-title p-name" property="p-name">{{ latest.title }}</span> <span class="entry-title p-name" property="p-name">{{ latest.title }}</span>
</a> </a>
{% endif %} {% endif %}
</h2> </h3>
</header> </header>
{% if latest.summary %} {% if latest.summary %}

View file

@ -1,4 +1,5 @@
{% extends "base.j2.html" %} {% extends "base.j2.html" %}
{% block meta %} {% block meta %}
<meta name="author" content="{{ author.name }} <{{ author.email }}>" /> <meta name="author" content="{{ author.name }} <{{ author.email }}>" />
<meta name="description" content="{{ post.summary|e }}" /> <meta name="description" content="{{ post.summary|e }}" />
@ -9,6 +10,7 @@
</style> </style>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block prism %} {% block prism %}
{% if post.has_code %} {% if post.has_code %}
<script> <script>
@ -16,6 +18,276 @@
</script> </script>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block licence %} {% block licence %}
<link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" /> <link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" />
{% endblock %} {% endblock %}
{% block content %}
{% if post.event %}
{% set mftype = 'h-entry h-event' %}
{% else %}
{% set mftype = 'h-entry' %}
{% endif %}
<main role="main">
<article class="{{ mftype }} hentry singular" lang="{{ post.lang }}" property="{{ mftype }}" itemscope="" itemprop="blogPost" itemtype="http://schema.org/BlogPosting" itemref="author">
<header>
<h1 class="entry-title p-name" itemprop="name headline" property="p-name">
{% if post.is_reply %}
<span>
<svg width="16" height="16">
<use xlink:href="#icon-reply" />
</svg>
<a href="{{ post.url }}">
RE:
</a>
<a href="{{ post.is_reply }}" class="u-in-reply-to" property="u-in-reply-to">
{{ post.is_reply }}
</a>
</span>
{% else %}
<a href="{{ post.url }}" title="{{ post.title }}">
<span>{{ post.title }}</span>
</a>
{% endif %}
</h1>
</header>
{% if post.review %}
<div class="h-review hreview" property="h-review" itemprop="review" itemscope="" itemtype="http://schema.org/Review">
<strong>Review summary of: <a href="{{ post.review.url }}" class="item fn p-name u-url p-item h-product" property="p-name u-url p-item h-product">{{ post.review.title }}</a></strong>
<p>
By
<span class="p-author h-card vcard reviewer" property="p-author" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<a class="fn p-name url u-url u-uid" property="p-name u-url u-uid" href="{{ author.url }}" itemprop="url">
<span itemprop="name">{{ author.name }}</span>
</a></span> at <time class="dt-published dtreviewed" property="dt-published" datetime="{{ post.pubtime }}" itemprop="datePublished">{{ post.pubdate }}</time>
</p>
<p>
<span class="rating" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
<meta itemprop="worstRating" content = "1">
<span class="value" itemprop="ratingValue">{{ post.review.rated }}</span>
out of
<span class="best" itemprop="bestRating">{{ post.review.outof }}</span>
</span>
</p>
<p class="p-summary summary" property="p-summary" itemprop="reviewBody">{{ post.review.summary }}</p>
</div>
{% endif %}
{% if post.summary %}
<div class="e-summary entry-summary" property="e-summary" itemprop="description">
{{ post.html_summary }}
</div>
{% endif %}
<div class="e-content entry-content" property="e-content" itemprop="articleBody">
{{ post.html_content }}
</div>
<footer>
<dl>
{% if post.event %}
<dt>Trip details</dt>
<dd>
From
<time class="dt-start dtstart" property="dt-end" datetime="{{ post.event.starttime }}">
{{ post.event.startdate }}
</time>
to
<time class="dt-end dtend" property="dt-end" datetime="{{ post.event.endtime }}">
{{ post.event.enddate }}
</time>, in
<span class="p-location location" property="p-location">
{{ post.event.location }}
</span>
</dd>
{% endif %}
<dt>Author</dt>
<dd class="p-author h-card vcard" property="p-author h-card" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<img class="photo avatar u-photo u-avatar"
property="p-author h-card"
src="{{ author.avatar }}"
alt="Photo of {{ author.name }}"
itemprop="image" />
<a class="fn p-name url u-url u-uid"
property="p-name u-url u-uid"
href="{{ author.url }}"
rel="author"
itemprop="url">
<span itemprop="name">{{ author.name }}</span>
</a>
<a class="u-email email" property="u-email" href="mailto:{{ author.email }}">
<span itemprop="email">{{ author.email }}</span>
</a>
<p aria-hidden="true" hidden="hidden" class="hidden" itemprop="publisher" itemscope="" itemtype="https://schema.org/Organization">
<span itemprop="name">{{ site.domain }}</span>
<a href="{{ site.url }}" itemprop="url">{{ site.url }}</a>
<span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
<img src="{{ author.avatar }}" alt="" itemprop="url" />
</span>
</p>
</dd>
<dt>Published</dt>
<dd class="published updated">
<time class="dt-published dt-updated"
property="dt-published dt-updated"
datetime="{{ post.pubtime }}"
itemprop="dateModified datePublished"
>{{ post.pubdate }}</time>
</dd>
<dt>License</dt>
<dd class="license">
{% if post.licence == 'CC-BY-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can republish it</li>
<li>you can modify it, but you need to indicate the modifications</li>
<li>you can use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
{% elif post.licence == 'CC-BY-NC-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can republish it</li>
<li>you can modify it, but you need to indicate the modifications</li>
<li>you can't use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
For commercial use, please contact me.
{% elif post.licence == 'CC-BY-NC-ND-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can't modify it</li>
<li>you can't republish it</li>
<li>you can't use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
For commercial use, please contact me.
{% endif %}
</dd>
<dt>Entry URL</dt>
<dd>
{% if not post.has_mainimg %}
<img aria-hidden="true" src="{{ author.avatar }}" itemprop="image" hidden="hidden" class="hidden" />
{% endif %}
<a class="u-url u-uuid" property="u-url u-uuid" rel="bookmark" href="{{ post.url }}" itemprop="url mainEntityOfPage">
{{ post.url }}
</a>
</dd>
</dl>
</footer>
{% if not post.is_page %}
{% if post.syndicate|length %}
<section class="syndication">
{% for url in post.syndicate %}
<a href="{{ url }}" class="u-syndication" itemprop="u-syndication"></a>
{% endfor %}
</section>
{% endif %}
<section class="encourage">
<h2>Encourage creation!</h2>
<p>
If this entry helped you, or you simply liked it, leave a tip via <br>
{% for provider, info in author.tips.items() %}
{% if loop.last and not loop.first %} or {% endif %}
<a rel="payment" href="{{ info.url }}">
<svg width="16" height="16">
<use xlink:href="#icon-{{ provider }}"></use>
</svg> {{ info.text }}</a>
{% if not loop.last and not loop.first %}, {% endif %}
{% endfor %}
</p>
</section>
{% if post.replies|length %}
<section class="replies">
<h2><a id="replies"></a>Replies</h2>
<ol>
{% for mtime, comment in post.replies.items() %}
<li class="h-entry p-comment" property="h-entry p-comment">
<time class="dt-published" property="dt-published" datetime="{{ comment.pubtime }}">
{{ comment.pubdate }}
</time> from
<span class="p-author h-card" property="p-author h-card">
{% if comment.author.url %}
<a class="url u-url" property="u-url" href="{{ comment.author.url }}">
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
</a>
{% else %}
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
{% endif %}
</span><br />
<span class="source">
<svg width="16" height="16">
<use xlink:href="#icon-link"></use>
</svg>
<a class="u-url" property="u-url" href="{{ comment.source }}">
{{ comment.source }}
</a>
</span>
</li>
{% endfor %}
</ol>
</section>
{% endif %}
{% if post.reactions|length %}
<section class="reactions">
<h2><a id="reactions"></a>Reactions</h2>
<dl>
{% for character, comments in post.reactions.items() %}
<dt>{{ character }}</dt>
<dd>
<ul>
{% for mtime, comment in comments.items() %}
<li class="h-entry p-comment" property="h-entry p-comment">
<span class="reaction">
<a class="u-url" property="u-url" href="{{ comment.source }}">
{{ comment.type }}
</a>
</span>
<time class="dt-published" property="dt-published" datetime="{{ comment.pubtime }}">
{{ comment.pubdate }}
</time> from
<span class="p-author h-card" property="p-author h-card">
{% if comment.author.url %}
<a class="url u-url" property="u-url" href="{{ comment.author.url }}">
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
</a>
{% else %}
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
{% endif %}
</span>
</li>
{% endfor %}
</ul>
</dd>
{% endfor %}
</dl>
</section>
{% endif %}
{% endif %}
</article>
</main>
{% endblock %}

View file

@ -5,14 +5,14 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" />
<meta name="supported-color-schemes" content="dark light"> <meta name="supported-color-schemes" content="dark light">
<link rel="icon" href="{{ site.url }}/favicon.ico" /> <link rel="icon" href="{{ site.favicon }}" />
{% block licence %}{% endblock %} {% block licence %}{% endblock %}
{% for key, value in meta.items() %} {% for key, value in meta.items() %}
<link rel="{{ key }}" href="{{ value }}" /> <link rel="{{ key }}" href="{{ value }}" />
{% endfor %} {% endfor %}
{% block meta %}{% endblock %} {% block meta %}{% endblock %}
<style media="all"> <style media="all">
{% include 'style-experiment.css' %} {% include 'style.css' %}
</style> </style>
<style id="css_alt" media="speech"> <style id="css_alt" media="speech">
{% include 'style-alt.css' %} {% include 'style-alt.css' %}
@ -21,6 +21,7 @@
{% include 'style-print.css' %} {% include 'style-print.css' %}
</style> </style>
</head> </head>
<body itemscope="" itemtype="http://schema.org/Blog http://schema.org/WebPage"> <body itemscope="" itemtype="http://schema.org/Blog http://schema.org/WebPage">
{% macro activemenu(name) %}{% if (post is defined and post.slug == name ) or (post is defined and post.category == name ) or ( category is defined and category.name == name ) %}active{% endif %}{% endmacro %} {% macro activemenu(name) %}{% if (post is defined and post.slug == name ) or (post is defined and post.category == name ) or ( category is defined and category.name == name ) %}active{% endif %}{% endmacro %}
@ -29,42 +30,16 @@
<section> <section>
<nav> <nav>
<ul> <ul>
{% for key, data in menu.items() %}
<li> <li>
<a title="home" href="{{ site.url }}/" class="{{ activemenu('home') }}"> <a title="{{ data.text }}" href="{{ data.url }}" class="{{ activemenu(key) }}">
<svg width="16" height="16"><use xlink:href="#icon-home" /></svg> <svg width="16" height="16">
home <use xlink:href="#icon-{{ key }}" />
</a> </svg>
</li> {{ data.text }}
<li>
<a title="photos" href="{{ site.url }}/category/photo/" class="{{ activemenu('photo') }}">
<svg width="18" height="16"><use xlink:href="#icon-photo" /></svg>
photos
</a>
</li>
<li>
<a title="journal" href="{{ site.url }}/category/journal/" class="{{ activemenu('journal') }}">
<svg width="16" height="16"><use xlink:href="#icon-journal" /></svg>
journal
</a>
</li>
<li>
<a title="IT" href="{{ site.url }}/category/article/" class="{{ activemenu('article') }}">
<svg width="16" height="16"><use xlink:href="#icon-article" /></svg>
IT
</a>
</li>
<li>
<a title="notes" href="{{ site.url }}/category/note/" class="{{ activemenu('note') }}">
<svg width="16" height="16"><use xlink:href="#icon-note" /></svg>
notes
</a>
</li>
<li>
<a title="follow petermolnar.net" href="{{ site.url }}/follow/" class="{{ activemenu('follow') }}">
<svg width="16" height="16"><use xlink:href="#icon-feed" /></svg>
follow
</a> </a>
</li> </li>
{% endfor %}
</ul> </ul>
</nav> </nav>
@ -82,7 +57,7 @@
<label for="lightscheme">light</label> <label for="lightscheme">light</label>
</span> </span>
</form> </form>
<form role="search" method="get" action="{{ site.url }}/search.php"> <form role="search" method="get" action="{{ site.search }}">
<label for="qsub"> <label for="qsub">
<input type="submit" value="search" id="qsub" name="qsub" /> <input type="submit" value="search" id="qsub" name="qsub" />
<svg width="16" height="16"> <svg width="16" height="16">
@ -96,289 +71,15 @@
</header> </header>
{% block content %} {% block content %}
{% if post.event %}
{% set mftype = 'h-entry h-event' %}
{% else %}
{% set mftype = 'h-entry' %}
{% endif %}
<main role="main">
<article class="{{ mftype }} hentry singular" lang="{{ post.lang }}" property="{{ mftype }}" itemscope="" itemprop="blogPost" itemtype="http://schema.org/BlogPosting" itemref="author">
<header>
<h1 class="entry-title p-name" itemprop="name headline" property="p-name">
{% if post.is_reply %}
<span>
<svg width="16" height="16">
<use xlink:href="#icon-reply" />
</svg>
<a href="{{ post.url }}" class="u-url">
RE:
</a>
<a href="{{ post.is_reply }}" class="u-in-reply-to" property="u-in-reply-to">
{{ post.is_reply }}
</a>
</span>
{% else %}
<a href="{{ post.url }}" title="{{ post.title }}">
<span>{{ post.title }}</span>
</a>
{% endif %}
</h1>
</header>
{% if post.review %}
<div class="h-review hreview" property="h-review" itemprop="review" itemscope="" itemtype="http://schema.org/Review">
<strong>Review summary of: <a href="{{ post.review.url }}" class="item fn p-name u-url p-item h-product" property="p-name u-url p-item h-product">{{ post.review.title }}</a></strong>
<p>
By
<span class="p-author h-card vcard reviewer" property="p-author" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<a class="fn p-name url u-url u-uid" property="p-name u-url u-uid" href="{{ author.url }}" itemprop="url">
<span itemprop="name">{{ author.name }}</span>
</a></span> at <time class="dt-published dtreviewed" property="dt-published" datetime="{{ post.pubtime }}" itemprop="datePublished">{{ post.pubdate }}</time>
</p>
<p>
<span class="rating" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
<meta itemprop="worstRating" content = "1">
<span class="value" itemprop="ratingValue">{{ post.review.rated }}</span>
out of
<span class="best" itemprop="bestRating">{{ post.review.outof }}</span>
</span>
</p>
<p class="p-summary summary" property="p-summary" itemprop="reviewBody">{{ post.review.summary }}</p>
</div>
{% endif %}
{% if post.summary %}
<div class="e-summary entry-summary" property="e-summary" itemprop="description">
{{ post.html_summary }}
</div>
{% endif %}
<div class="e-content entry-content" property="e-content" itemprop="articleBody">
{{ post.html_content }}
</div>
<footer>
<dl>
{% if post.event %}
<dt>Trip details</dt>
<dd>
From
<time class="dt-start dtstart" property="dt-end" datetime="{{ post.event.starttime }}">
{{ post.event.startdate }}
</time>
to
<time class="dt-end dtend" property="dt-end" datetime="{{ post.event.endtime }}">
{{ post.event.enddate }}
</time>, in
<span class="p-location location" property="p-location">
{{ post.event.location }}
</span>
</dd>
{% endif %}
<dt>Author</dt>
<dd class="p-author h-card vcard" property="p-author h-card" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<img class="photo avatar u-photo u-avatar"
property="p-author h-card"
src="{{ author.avatar }}"
alt="Photo of {{ author.name }}"
itemprop="image" />
<a class="fn p-name url u-url u-uid"
property="p-name u-url u-uid"
href="{{ author.url }}"
rel="author"
itemprop="url">
<span itemprop="name">{{ author.name }}</span>
</a>
<a class="u-email email" property="u-email" href="mailto:{{ author.email }}">
<span itemprop="email">{{ author.email }}</span>
</a>
<p aria-hidden="true" hidden="hidden" class="hidden" itemprop="publisher" itemscope="" itemtype="https://schema.org/Organization">
<span itemprop="name">{{ site.domain }}</span>
<a href="{{ site.url }}" itemprop="url">{{ site.url }}</a>
<span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
<img src="{{ author.avatar }}" alt="" itemprop="url" />
</span>
</p>
</dd>
<dt>Published</dt>
<dd class="published updated">
<time class="dt-published dt-updated"
property="dt-published dt-updated"
datetime="{{ post.pubtime }}"
itemprop="dateModified datePublished"
>{{ post.pubdate }}</time>
</dd>
<dt>License</dt>
<dd class="license">
{% if post.licence == 'CC-BY-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can republish it</li>
<li>you can modify it, but you need to indicate the modifications</li>
<li>you can use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
{% elif post.licence == 'CC-BY-NC-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can republish it</li>
<li>you can modify it, but you need to indicate the modifications</li>
<li>you can't use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
For commercial use, please contact me.
{% elif post.licence == 'CC-BY-NC-ND-4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" class="u-license" property="u-licence" itemprop="license">{{ post.licence }}</a>
<ul>
<li>you can share it</li>
<li>you can't modify it</li>
<li>you can't republish it</li>
<li>you can't use it for commercial purposes</li>
<li>you always need to make a link back here</li>
</ul>
For commercial use, please contact me.
{% endif %}
</dd>
<dt>Entry URL</dt>
<dd>
{% if not post.has_mainimg %}
<img aria-hidden="true" src="{{ author.avatar }}" itemprop="image" hidden="hidden" class="hidden" />
{% endif %}
<a class="u-url u-uuid" property="u-url u-uuid" rel="bookmark" href="{{ post.url }}" itemprop="url mainEntityOfPage">
{{ post.url }}
</a>
</dd>
</dl>
</footer>
{% if not post.is_page %}
{% if post.syndicate|length %}
<section class="syndication">
{% for url in post.syndicate %}
<a href="{{ url }}" class="u-syndication" itemprop="u-syndication"></a>
{% endfor %}
</section>
{% endif %}
<section class="encourage">
<h2>Encourage creation!</h2>
<p>If this entry helped you, or you simply liked it, leave a tip.</p>
<ul>
<li>
<a rel="payment" href="https://paypal.me/petermolnar/3GBP">
<svg width="16" height="16">
<use xlink:href="#icon-paypal"></use>
</svg> Paypal</a>
</li>
<li>
<a rel="payment" href="https://monzo.me/petermolnar/3">
<svg width="16" height="16">
<use xlink:href="#icon-monzo"></use>
</svg> Monzo (UK or Google Pay)</a>
</li>
</ul>
</section>
{% if post.replies|length %}
<section class="replies">
<h2><a id="replies"></a>Replies</h2>
<ol>
{% for mtime, comment in post.replies.items() %}
<li class="h-entry p-comment" property="h-entry p-comment">
<time class="dt-published" property="dt-published" datetime="{{ comment.pubtime }}">
{{ comment.pubdate }}
</time> from
<span class="p-author h-card" property="p-author h-card">
{% if comment.author.url %}
<a class="url u-url" property="u-url" href="{{ comment.author.url }}">
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
</a>
{% else %}
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
{% endif %}
</span><br />
<span class="source">
<svg width="16" height="16">
<use xlink:href="#icon-link"></use>
</svg>
<a class="u-url" property="u-url" href="{{ comment.source }}">
{{ comment.source }}
</a>
</span>
</li>
{% endfor %}
</ol>
</section>
{% endif %}
{% if post.reactions|length %}
<section class="reactions">
<h2><a id="reactions"></a>Reactions</h2>
<dl>
{% for character, comments in post.reactions.items() %}
<dt>{{ character }}</dt>
<dd>
<ul>
{% for mtime, comment in comments.items() %}
<li class="h-entry p-comment" property="h-entry p-comment">
<span class="reaction">
<a class="u-url" property="u-url" href="{{ comment.source }}">
{{ comment.type }}
</a>
</span>
<time class="dt-published" property="dt-published" datetime="{{ comment.pubtime }}">
{{ comment.pubdate }}
</time> from
<span class="p-author h-card" property="p-author h-card">
{% if comment.author.url %}
<a class="url u-url" property="u-url" href="{{ comment.author.url }}">
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
</a>
{% else %}
<span class="p-name fn" property="p-name">
{{ comment.author.name }}
</span>
{% endif %}
</span>
</li>
{% endfor %}
</ul>
</dd>
{% endfor %}
</dl>
</section>
{% endif %}
{% endif %}
</article>
</main>
{% endblock %} {% endblock %}
{% block pagination %} {% block pagination %}
{% endblock %} {% endblock %}
<footer class="p-author h-card vcard" property="p-author h-card" id="author" itemprop="author publisher" itemscope="" itemtype="https://schema.org/Person https://schema.org/Organization"> <footer class="p-author h-card vcard" property="p-author h-card" id="author" itemprop="author publisher" itemscope="" itemtype="https://schema.org/Person https://schema.org/Organization">
<section>
<div>
<p> <p>
<a href="https://creativecommons.org/">CC</a>, <a href="https://creativecommons.org/">CC</a>,
1999-2018, 1999-2019,
<span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject"> <span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
<img class="photo avatar u-photo u-avatar" <img class="photo avatar u-photo u-avatar"
property="u-photo u-avatar" property="u-photo u-avatar"
@ -386,18 +87,9 @@
alt="Photo of {{ author.name }}" alt="Photo of {{ author.name }}"
itemprop="image url" /> itemprop="image url" />
</span> </span>
<a class="fn p-name url u-url u-uid" property="p-name u-url u-uid" rel="me" href="{{ site.url }}"><span itemprop="name">{{ author.name }}</span></a> <a class="fn p-name url u-url u-uid" property="p-name u-url u-uid" rel="me" href="{{ site.url }}">
</p> <span itemprop="name">{{ author.name }}</span>
<p> </a>
<a href="https://xn--sr8hvo.ws/🇻🇮📢/previous"></a>
Member of <a href="https://xn--sr8hvo.ws">IndieWeb Webring</a>
<a href="https://xn--sr8hvo.ws/🇻🇮📢/next"></a>
</p>
</div>
<div>
<nav>
<ul>
<li>
<a class="u-email email" property="u-email" rel="me" href="mailto:{{ author.email }}"> <a class="u-email email" property="u-email" rel="me" href="mailto:{{ author.email }}">
<svg width="16" height="16"> <svg width="16" height="16">
<title>email</title> <title>email</title>
@ -405,43 +97,34 @@
</svg> </svg>
<span itemprop="email">{{ author.email }}</span> <span itemprop="email">{{ author.email }}</span>
</a> </a>
</li> </p>
{% for name, value in author.contact.items() %}
<li>
<a class="url u-url x-{{name}}" property="u-url x-{{name}}" rel="me" href="{{ value }}" itemprop="sameAs">
<svg width="16" height="16">
<title>{{ name }}</title>
<use xlink:href="#icon-{{ name }}"></use>
</svg>
</a>
</li>
{% endfor %}
</ul>
</nav>
<nav> <nav>
<ul> <ul>
<li> <li>
<a title="CV" href="{{ site.url }}/about/"> <a title="following" href="{{ author.following }}">
<svg width="16" height="16"><use xlink:href="#icon-me" /></svg>
about me
</a>
</li>
<li>
<a title="following" href="{{ site.url }}/following.opml">
<svg width="16" height="16"><use xlink:href="#icon-following" /></svg> <svg width="16" height="16"><use xlink:href="#icon-following" /></svg>
followings followings
</a> </a>
</li> </li>
<li> <li>
<a title="CV" href="{{ site.url }}/cv.html"> <a title="CV" href="{{ author.cv }}">
<svg width="16" height="16"><use xlink:href="#icon-resume" /></svg> <svg width="16" height="16"><use xlink:href="#icon-resume" /></svg>
resume resume
</a> </a>
</li> </li>
<li>
<a title="github" rel="me" href="{{ author.github }}">
<svg width="16" height="16"><use xlink:href="#icon-github" /></svg>
github
</a>
</li>
</ul> </ul>
</nav> </nav>
</div> <p>
</section> <a href="https://xn--sr8hvo.ws/🇻🇮📢/previous"></a>
Member of <a href="https://xn--sr8hvo.ws">IndieWeb Webring</a>
<a href="https://xn--sr8hvo.ws/🇻🇮📢/next"></a>
</p>
</footer> </footer>
<script> <script>

View file

@ -1,8 +1,9 @@
.token.comment, .token.comment,
.token.prolog, .token.prolog,
.token.doctype, .token.doctype,
.token.cdata { .token.cdata {
color: #708090; color: #789;
} }
.token.punctuation { .token.punctuation {
@ -10,7 +11,6 @@
} }
.namespace { .namespace {
opacity: .7;
} }
.token.property, .token.property,
@ -37,7 +37,7 @@
.token.url, .token.url,
.language-css .token.string, .language-css .token.string,
.style .token.string { .style .token.string {
color: #9a6e3a; color: #a74;
} }
.token.atrule, .token.atrule,
@ -48,7 +48,7 @@
.token.function, .token.function,
.token.class-name { .token.class-name {
color: #DD4A68; color: #D57;
} }
.token.regex, .token.regex,

View file

@ -1,6 +1,5 @@
body { body {
color: #222; color: #000;
background-color: #eee; background-color: #eee;
} }

View file

@ -1,17 +1,18 @@
* { * {
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
font-family: "Courier New", "Courier", monospace; font-family: "Courier", monospace;
font-size: 100%; font-size: 11.5pt;
margin: 0; margin: 0;
padding: 0; padding: 0;
line-height: 1.5em; line-height: 1.5em;
} }
body { body {
color: #ccc; color: #eee;
background-color: #26272A; background-color: #222;
} }
body > header, body > header,
@ -49,6 +50,7 @@ main p {
h1 { h1 {
border-bottom: 4px double #999; border-bottom: 4px double #999;
text-transform:uppercase;
} }
article > footer > dl > dt, article > footer > dl > dt,
@ -121,6 +123,7 @@ body > header a {
font-weight: bold; font-weight: bold;
border-bottom: 3px solid transparent; border-bottom: 3px solid transparent;
padding-bottom: 0.1em; padding-bottom: 0.1em;
text-transform:uppercase;
} }
body > header a:hover, body > header a:hover,
@ -171,8 +174,8 @@ body > footer {
margin-top: 2em; margin-top: 2em;
} }
body > footer > section > div > * { body > footer > * {
margin: 0.6em 0; margin-bottom: 0.6em;
} }
body > footer .email span { body > footer .email span {
@ -220,7 +223,7 @@ footer img {
} }
code, pre { code, pre {
color: #32CD32; color: #3c3;
border: 1px solid #666; border: 1px solid #666;
direction: ltr; direction: ltr;
word-break: break-all; word-break: break-all;
@ -272,6 +275,10 @@ th, tr:nth-child(even) {
background-color: rgba(255, 255, 255, .1); background-color: rgba(255, 255, 255, .1);
} }
main > header > p {
text-align: center;
}
main ul { main ul {
margin-left: 2em; margin-left: 2em;
} }
@ -284,10 +291,15 @@ li p {
margin: 0; margin: 0;
} }
.encourage { .encourage, .encourage a {
color: #090; color: #090;
} }
.encourage a {
color: #0a0;
font-weight: bold;
}
.encourage h2 { .encourage h2 {
border-color: #090; border-color: #090;
} }
@ -312,6 +324,19 @@ li p {
margin: 0 0 0 0.6em; margin: 0 0 0 0.6em;
} }
main > section > article {
padding-left: 1em;
}
body > nav {
text-align: center;
margin-top: 2em;
}
body > nav > ul > li {
margin: 0 0.6em;
}
@media all and (min-width: 58em) { @media all and (min-width: 58em) {
body > header > section, body > header > section,
body > footer > section { body > footer > section {

View file

@ -1,13 +1,7 @@
<svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<symbol id="icon-flickr" viewBox="0 0 16 16">
<path d="M0 8c0 2.049 1.663 3.709 3.71 3.709 2.050 0 3.713-1.66 3.713-3.709s-1.662-3.709-3.713-3.709c-2.047 0-3.71 1.66-3.71 3.709zM8.577 8c0 2.049 1.662 3.709 3.711 3.709 2.042 0 3.711-1.66 3.711-3.709s-1.661-3.709-3.709-3.709c-2.050 0-3.713 1.66-3.713 3.709z"></path>
</symbol>
<symbol id="icon-github" viewBox="0 0 16 16"> <symbol id="icon-github" viewBox="0 0 16 16">
<path d="M8 0.198c-4.42 0-8 3.582-8 8 0 3.535 2.292 6.533 5.47 7.59 0.4 0.075 0.547-0.172 0.547-0.385 0-0.19-0.007-0.693-0.010-1.36-2.225 0.483-2.695-1.073-2.695-1.073-0.364-0.923-0.89-1.17-0.89-1.17-0.725-0.496 0.056-0.486 0.056-0.486 0.803 0.056 1.225 0.824 1.225 0.824 0.713 1.223 1.873 0.87 2.33 0.665 0.072-0.517 0.278-0.87 0.507-1.070-1.777-0.2-3.644-0.888-3.644-3.953 0-0.873 0.31-1.587 0.823-2.147-0.090-0.202-0.36-1.015 0.070-2.117 0 0 0.67-0.215 2.2 0.82 0.64-0.178 1.32-0.266 2-0.27 0.68 0.004 1.36 0.092 2 0.27 1.52-1.035 2.19-0.82 2.19-0.82 0.43 1.102 0.16 1.915 0.080 2.117 0.51 0.56 0.82 1.273 0.82 2.147 0 3.073-1.87 3.75-3.65 3.947 0.28 0.24 0.54 0.731 0.54 1.48 0 1.071-0.010 1.931-0.010 2.191 0 0.21 0.14 0.46 0.55 0.38 3.201-1.049 5.491-4.049 5.491-7.579 0-4.418-3.582-8-8-8z"></path> <path d="M8 0.198c-4.42 0-8 3.582-8 8 0 3.535 2.292 6.533 5.47 7.59 0.4 0.075 0.547-0.172 0.547-0.385 0-0.19-0.007-0.693-0.010-1.36-2.225 0.483-2.695-1.073-2.695-1.073-0.364-0.923-0.89-1.17-0.89-1.17-0.725-0.496 0.056-0.486 0.056-0.486 0.803 0.056 1.225 0.824 1.225 0.824 0.713 1.223 1.873 0.87 2.33 0.665 0.072-0.517 0.278-0.87 0.507-1.070-1.777-0.2-3.644-0.888-3.644-3.953 0-0.873 0.31-1.587 0.823-2.147-0.090-0.202-0.36-1.015 0.070-2.117 0 0 0.67-0.215 2.2 0.82 0.64-0.178 1.32-0.266 2-0.27 0.68 0.004 1.36 0.092 2 0.27 1.52-1.035 2.19-0.82 2.19-0.82 0.43 1.102 0.16 1.915 0.080 2.117 0.51 0.56 0.82 1.273 0.82 2.147 0 3.073-1.87 3.75-3.65 3.947 0.28 0.24 0.54 0.731 0.54 1.48 0 1.071-0.010 1.931-0.010 2.191 0 0.21 0.14 0.46 0.55 0.38 3.201-1.049 5.491-4.049 5.491-7.579 0-4.418-3.582-8-8-8z"></path>
</symbol> </symbol>
<symbol id="icon-xmpp" viewBox="0 0 16 16">
<path d="M0 2.13c0.1 3.83 3.24 7.8 7.020 10-0.87 0.68-1.84 1.2-2.9 1.46v0.18c1.3-0.12 2.6-0.5 3.87-1.1 0.42 0.2 0.85 0.38 1.28 0.54 0.43 0.17 0.88 0.3 1.33 0.4 0.5 0.13 0.97 0.2 1.44 0.25v-0.050h0.030v-0.14c-1.12-0.3-2.14-0.84-3.040-1.56 3.77-2.17 6.87-6.11 6.97-9.99l-2.4 0.94-2.47 0.73v0.36c0 2.28-1.15 5.060-3.080 7.050-1.87-1.97-3-4.7-3-6.95 0-0.12 0-0.24 0.020-0.37l-2.3-0.68-2.77-1.070z"></path>
</symbol>
<symbol id="icon-paypal" viewBox="0 0 16 16"> <symbol id="icon-paypal" viewBox="0 0 16 16">
<path d="M4.605 16h-2.069c-0.443 0-0.724-0.353-0.624-0.787l0.099-0.449h1.381c0.444 0 0.891-0.355 0.988-0.788l0.709-3.061c0.1-0.432 0.544-0.787 0.987-0.787h0.589c2.526 0 4.489-0.519 5.893-1.56s2.107-2.4 2.107-4.090c0-0.75-0.13-1.37-0.392-1.859 0-0.011-0.011-0.021-0.011-0.031l0.090 0.050c0.5 0.31 0.88 0.709 1.141 1.209 0.269 0.5 0.399 1.12 0.399 1.861 0 1.69-0.699 3.049-2.109 4.090-1.4 1.030-3.37 1.549-5.889 1.549h-0.6c-0.44 0-0.889 0.35-0.989 0.791l-0.71 3.070c-0.099 0.43-0.54 0.78-0.98 0.78l-0.008 0.012zM2.821 14.203h-2.070c-0.442 0-0.723-0.353-0.624-0.787l2.915-12.629c0.101-0.435 0.543-0.788 0.987-0.788h4.31c0.93 0 1.739 0.065 2.432 0.193 0.69 0.126 1.28 0.346 1.789 0.66 0.491 0.31 0.881 0.715 1.131 1.212 0.259 0.499 0.389 1.12 0.389 1.865 0 1.69-0.701 3.049-2.109 4.079-1.4 1.041-3.371 1.551-5.891 1.551h-0.589c-0.44 0-0.885 0.349-0.985 0.779l-0.707 3.059c-0.099 0.431-0.545 0.781-0.99 0.781l0.011 0.024zM7.785 2.624h-0.676c-0.444 0-0.888 0.353-0.987 0.785l-0.62 2.68c-0.1 0.432 0.18 0.786 0.62 0.786h0.511c1.109 0 1.98-0.229 2.6-0.681 0.619-0.457 0.93-1.103 0.93-1.941 0-0.553-0.201-0.963-0.6-1.227-0.4-0.269-1-0.403-1.791-0.403l0.013 0.001z"></path> <path d="M4.605 16h-2.069c-0.443 0-0.724-0.353-0.624-0.787l0.099-0.449h1.381c0.444 0 0.891-0.355 0.988-0.788l0.709-3.061c0.1-0.432 0.544-0.787 0.987-0.787h0.589c2.526 0 4.489-0.519 5.893-1.56s2.107-2.4 2.107-4.090c0-0.75-0.13-1.37-0.392-1.859 0-0.011-0.011-0.021-0.011-0.031l0.090 0.050c0.5 0.31 0.88 0.709 1.141 1.209 0.269 0.5 0.399 1.12 0.399 1.861 0 1.69-0.699 3.049-2.109 4.090-1.4 1.030-3.37 1.549-5.889 1.549h-0.6c-0.44 0-0.889 0.35-0.989 0.791l-0.71 3.070c-0.099 0.43-0.54 0.78-0.98 0.78l-0.008 0.012zM2.821 14.203h-2.070c-0.442 0-0.723-0.353-0.624-0.787l2.915-12.629c0.101-0.435 0.543-0.788 0.987-0.788h4.31c0.93 0 1.739 0.065 2.432 0.193 0.69 0.126 1.28 0.346 1.789 0.66 0.491 0.31 0.881 0.715 1.131 1.212 0.259 0.499 0.389 1.12 0.389 1.865 0 1.69-0.701 3.049-2.109 4.079-1.4 1.041-3.371 1.551-5.891 1.551h-0.589c-0.44 0-0.885 0.349-0.985 0.779l-0.707 3.059c-0.099 0.431-0.545 0.781-0.99 0.781l0.011 0.024zM7.785 2.624h-0.676c-0.444 0-0.888 0.353-0.987 0.785l-0.62 2.68c-0.1 0.432 0.18 0.786 0.62 0.786h0.511c1.109 0 1.98-0.229 2.6-0.681 0.619-0.457 0.93-1.103 0.93-1.941 0-0.553-0.201-0.963-0.6-1.227-0.4-0.269-1-0.403-1.791-0.403l0.013 0.001z"></path>
</symbol> </symbol>
@ -33,7 +27,7 @@
<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="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> <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>
<symbol id="icon-feed" viewBox="0 0 16 16"> <symbol id="icon-follow" 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> <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>
<symbol id="icon-home" viewBox="0 0 16 16"> <symbol id="icon-home" viewBox="0 0 16 16">
@ -68,26 +62,12 @@
<symbol id="icon-camera" viewBox="0 0 16 16"> <symbol id="icon-camera" 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> <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>
<symbol id="icon-whatsapp" viewBox="0 0 16 16">
<path d="M11.665 9.588c-0.201-0.1-1.178-0.578-1.36-0.644-0.182-0.067-0.315-0.1-0.449 0.1-0.131 0.197-0.514 0.643-0.629 0.775-0.117 0.13-0.233 0.14-0.431 0.050-0.2-0.1-0.842-0.31-1.602-0.99-0.592-0.53-0.989-1.18-1.107-1.38-0.116-0.2-0.013-0.31 0.087-0.41 0.091-0.090 0.201-0.23 0.301-0.349 0.097-0.121 0.129-0.201 0.198-0.331 0.067-0.14 0.033-0.25-0.017-0.349s-0.448-1.080-0.615-1.471c-0.16-0.389-0.325-0.34-0.448-0.34-0.115-0.010-0.247-0.010-0.381-0.010s-0.349 0.049-0.531 0.239c-0.182 0.2-0.697 0.68-0.697 1.65s0.713 1.91 0.813 2.050c0.099 0.13 1.403 2.13 3.4 2.99 0.476 0.2 0.847 0.32 1.136 0.419 0.476 0.151 0.91 0.13 1.253 0.081 0.383-0.061 1.178-0.481 1.344-0.951 0.17-0.47 0.17-0.86 0.12-0.95s-0.18-0.14-0.38-0.23zM8.041 14.5h-0.011c-1.18 0-2.349-0.32-3.37-0.92l-0.24-0.143-2.5 0.65 0.67-2.43-0.159-0.25c-0.66-1.051-1.011-2.261-1.011-3.507 0-3.63 2.97-6.59 6.628-6.59 1.769 0 3.43 0.69 4.681 1.94 1.25 1.239 1.939 2.9 1.939 4.66-0.003 3.629-2.973 6.59-6.623 6.59zM13.68 2.299c-1.52-1.469-3.52-2.299-5.65-2.299-4.388 0-7.961 3.556-7.963 7.929 0 1.397 0.366 2.76 1.063 3.963l-1.131 4.108 4.223-1.101c1.164 0.629 2.473 0.963 3.807 0.965h0.004c4.39 0 7.964-3.557 7.966-7.931 0-2.117-0.827-4.11-2.33-5.607z"></path>
</symbol>
<symbol id="icon-telegram" viewBox="0 0 16 16">
<path d="M6.019 13.891c-0.476 0-0.395-0.181-0.559-0.633l-1.402-4.613 10.785-6.399z"></path>
<path d="M6.019 13.891c0.368 0 0.53-0.168 0.737-0.369l1.961-1.905-2.447-1.476z"></path>
<path d="M6.269 10.142l5.927 4.379c0.677 0.373 1.165 0.181 1.333-0.628l2.413-11.369c0.248-0.991-0.376-1.439-1.023-1.147l-14.169 5.465c-0.967 0.388-0.962 0.928-0.176 1.169l3.637 1.133 8.416-5.309c0.397-0.24 0.762-0.111 0.463 0.155z"></path>
</symbol>
<symbol id="icon-phone" viewBox="0 0 16 16">
<path d="M11 10c-1 1-1 2-2 2s-2-1-3-2-2-2-2-3 1-1 2-2-2-4-3-4-3 3-3 3c0 2 2.055 6.055 4 8s6 4 8 4c0 0 3-2 3-3s-3-4-4-3z"></path>
</symbol>
<symbol id="icon-following" viewBox="0 0 16 16"> <symbol id="icon-following" viewBox="0 0 16 16">
<path d="M5.295 8c-0.929 0.027-1.768 0.429-2.366 1.143h-1.196c-0.893 0-1.732-0.429-1.732-1.42 0-0.723-0.027-3.152 1.107-3.152 0.188 0 1.116 0.759 2.321 0.759 0.411 0 0.804-0.071 1.187-0.205-0.027 0.196-0.045 0.393-0.045 0.589 0 0.813 0.259 1.616 0.723 2.286zM14.857 13.688c0 1.446-0.955 2.313-2.384 2.313h-7.804c-1.429 0-2.384-0.866-2.384-2.313 0-2.018 0.473-5.116 3.089-5.116 0.304 0 1.411 1.241 3.196 1.241s2.893-1.241 3.196-1.241c2.616 0 3.089 3.098 3.089 5.116zM5.714 2.286c0 1.259-1.027 2.286-2.286 2.286s-2.286-1.027-2.286-2.286 1.027-2.286 2.286-2.286 2.286 1.027 2.286 2.286zM12 5.714c0 1.893-1.536 3.429-3.429 3.429s-3.429-1.536-3.429-3.429 1.536-3.429 3.429-3.429 3.429 1.536 3.429 3.429zM17.143 7.723c0 0.991-0.839 1.42-1.732 1.42h-1.196c-0.598-0.714-1.438-1.116-2.366-1.143 0.464-0.67 0.723-1.473 0.723-2.286 0-0.196-0.018-0.393-0.045-0.589 0.384 0.134 0.777 0.205 1.188 0.205 1.205 0 2.134-0.759 2.321-0.759 1.134 0 1.107 2.429 1.107 3.152zM16 2.286c0 1.259-1.027 2.286-2.286 2.286s-2.286-1.027-2.286-2.286 1.027-2.286 2.286-2.286 2.286 1.027 2.286 2.286z"></path> <path d="M5.295 8c-0.929 0.027-1.768 0.429-2.366 1.143h-1.196c-0.893 0-1.732-0.429-1.732-1.42 0-0.723-0.027-3.152 1.107-3.152 0.188 0 1.116 0.759 2.321 0.759 0.411 0 0.804-0.071 1.187-0.205-0.027 0.196-0.045 0.393-0.045 0.589 0 0.813 0.259 1.616 0.723 2.286zM14.857 13.688c0 1.446-0.955 2.313-2.384 2.313h-7.804c-1.429 0-2.384-0.866-2.384-2.313 0-2.018 0.473-5.116 3.089-5.116 0.304 0 1.411 1.241 3.196 1.241s2.893-1.241 3.196-1.241c2.616 0 3.089 3.098 3.089 5.116zM5.714 2.286c0 1.259-1.027 2.286-2.286 2.286s-2.286-1.027-2.286-2.286 1.027-2.286 2.286-2.286 2.286 1.027 2.286 2.286zM12 5.714c0 1.893-1.536 3.429-3.429 3.429s-3.429-1.536-3.429-3.429 1.536-3.429 3.429-3.429 3.429 1.536 3.429 3.429zM17.143 7.723c0 0.991-0.839 1.42-1.732 1.42h-1.196c-0.598-0.714-1.438-1.116-2.366-1.143 0.464-0.67 0.723-1.473 0.723-2.286 0-0.196-0.018-0.393-0.045-0.589 0.384 0.134 0.777 0.205 1.188 0.205 1.205 0 2.134-0.759 2.321-0.759 1.134 0 1.107 2.429 1.107 3.152zM16 2.286c0 1.259-1.027 2.286-2.286 2.286s-2.286-1.027-2.286-2.286 1.027-2.286 2.286-2.286 2.286 1.027 2.286 2.286z"></path>
</symbol> </symbol>
<symbol id="icon-search" viewBox="0 0 16 16"> <symbol id="icon-search" viewBox="0 0 16 16">
<path d="M15.504 13.616l-3.79-3.223c-0.392-0.353-0.811-0.514-1.149-0.499 0.895-1.048 1.435-2.407 1.435-3.893 0-3.314-2.686-6-6-6s-6 2.686-6 6 2.686 6 6 6c1.486 0 2.845-0.54 3.893-1.435-0.016 0.338 0.146 0.757 0.499 1.149l3.223 3.79c0.552 0.613 1.453 0.665 2.003 0.115s0.498-1.452-0.115-2.003zM6 10c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z"></path> <path d="M15.504 13.616l-3.79-3.223c-0.392-0.353-0.811-0.514-1.149-0.499 0.895-1.048 1.435-2.407 1.435-3.893 0-3.314-2.686-6-6-6s-6 2.686-6 6 2.686 6 6 6c1.486 0 2.845-0.54 3.893-1.435-0.016 0.338 0.146 0.757 0.499 1.149l3.223 3.79c0.552 0.613 1.453 0.665 2.003 0.115s0.498-1.452-0.115-2.003zM6 10c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z"></path>
</symbol> </symbol>
<symbol id="icon-me" viewBox="0 0 16 16">
<path d="M9 11.041v-0.825c1.102-0.621 2-2.168 2-3.716 0-2.485 0-4.5-3-4.5s-3 2.015-3 4.5c0 1.548 0.898 3.095 2 3.716v0.825c-3.392 0.277-6 1.944-6 3.959h14c0-2.015-2.608-3.682-6-3.959z"></path>
</symbol>
<symbol id="icon-resume" viewBox="0 0 16 16"> <symbol id="icon-resume" 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> <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>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -29,7 +29,7 @@ function setTheme(e) {
localStorage.removeItem(STORAGE_KEY); localStorage.removeItem(STORAGE_KEY);
} }
else { else {
if(confirm("I\'ll need to store your theme of choice in your browser, in a place called localStorage.\n\nAre you OK with this?")) { if(confirm("I\'ll need to store your choice in your browser, in a place called localStorage.\n\nAre you OK with this?")) {
localStorage.setItem(STORAGE_KEY, mode); localStorage.setItem(STORAGE_KEY, mode);
} }
} }