- theme cleanup
- menu is now coming from settings - content block is emptied in base - removed unused SVG icons
This commit is contained in:
parent
c4f56088cc
commit
ce9c806274
11 changed files with 507 additions and 472 deletions
33
nasg.py
33
nasg.py
|
@ -68,6 +68,15 @@ RE_PRECODE = re.compile(
|
|||
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):
|
||||
return yaml.dump(
|
||||
data,
|
||||
|
@ -648,7 +657,7 @@ class Singular(MarkdownDoc):
|
|||
'summary': self.summary,
|
||||
'html_summary': self.html_summary,
|
||||
'html_content': self.html_content,
|
||||
'mtime': self.mtime,
|
||||
'mtime': self.dt,
|
||||
'pubtime': self.published.format(settings.dateformat.get('iso')),
|
||||
'pubdate': self.published.format(settings.dateformat.get('display')),
|
||||
'year': int(self.published.format('YYYY')),
|
||||
|
@ -748,8 +757,10 @@ class Singular(MarkdownDoc):
|
|||
return
|
||||
logger.info("rendering %s", self.name)
|
||||
r = J2.get_template(self.template).render({
|
||||
#'baseurl': self.url,
|
||||
'post': self.tmplvars,
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'author': settings.author,
|
||||
'meta': settings.meta,
|
||||
'licence': settings.licence,
|
||||
|
@ -777,13 +788,23 @@ class Home(Singular):
|
|||
'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):
|
||||
if self.exists:
|
||||
return
|
||||
logger.info("rendering %s", self.name)
|
||||
r = J2.get_template(self.template).render({
|
||||
#'baseurl': settings.site.get('url'),
|
||||
'post': self.tmplvars,
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'author': settings.author,
|
||||
'meta': settings.meta,
|
||||
'licence': settings.licence,
|
||||
|
@ -1266,8 +1287,10 @@ class Search(PHPFile):
|
|||
|
||||
async def _render(self):
|
||||
r = J2.get_template(self.templatefile).render({
|
||||
#'baseurl': settings.site.get('search'),
|
||||
'post': {},
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'author': settings.author,
|
||||
'meta': settings.meta,
|
||||
'licence': settings.licence,
|
||||
|
@ -1307,6 +1330,7 @@ class IndexPHP(PHPFile):
|
|||
r = J2.get_template(self.templatefile).render({
|
||||
'post': {},
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'gones': self.gone,
|
||||
'redirects': self.redirect
|
||||
})
|
||||
|
@ -1349,6 +1373,7 @@ class MicropubPHP(PHPFile):
|
|||
async def _render(self):
|
||||
r = J2.get_template(self.templatefile).render({
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'paths': settings.paths
|
||||
})
|
||||
writepath(self.renderfile, r)
|
||||
|
@ -1490,7 +1515,9 @@ class Category(dict):
|
|||
c = post.published.format(self.trange)
|
||||
|
||||
return {
|
||||
#'baseurl': self.url,
|
||||
'site': settings.site,
|
||||
'menu': settings.menu,
|
||||
'author': settings.author,
|
||||
'meta': settings.meta,
|
||||
'licence': settings.licence,
|
||||
|
@ -1506,7 +1533,7 @@ class Category(dict):
|
|||
'next': n,
|
||||
'currentyear': arrow.utcnow().format('YYYY')
|
||||
},
|
||||
'posts': posts,
|
||||
'posts': posts
|
||||
}
|
||||
|
||||
def indexfpath(self, subpath=None):
|
||||
|
@ -1619,7 +1646,7 @@ class Category(dict):
|
|||
keys = list(by_time.keys())
|
||||
for p, c, n in zip([None] + keys[:-1], keys, keys[1:] + [None]):
|
||||
form = c.format(self.trange)
|
||||
if arrow.utcnow().format(self.trange) == form:
|
||||
if max(keys) == form:
|
||||
fpath = self.indexfpath()
|
||||
else:
|
||||
fpath = self.indexfpath(form)
|
||||
|
|
49
settings.py
49
settings.py
|
@ -23,6 +23,35 @@ site = {
|
|||
'journal'
|
||||
],
|
||||
'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 = {
|
||||
|
@ -51,13 +80,19 @@ author = {
|
|||
'url': 'https://petermolnar.net/',
|
||||
'avatar': 'https://petermolnar.net/molnar_peter_avatar.jpg',
|
||||
'gpg': 'https://petermolnar.net/pgp.asc',
|
||||
'cv': 'https://petermolnar.net/about.html',
|
||||
'contact': {
|
||||
'xmpp': 'xmpp:mail@petermolnar.net?message',
|
||||
'flickr': 'https://flickr.com/people/petermolnareu',
|
||||
'github': 'https://github.com/petermolnar',
|
||||
'whatsapp': 'https://wa.me/447592011721',
|
||||
'telegram': 'https://t.me/petermolnar',
|
||||
'cv': 'https://petermolnar.net/cv.html',
|
||||
'github': 'https://github.com/petermolnar',
|
||||
'about': 'https://petermolnar.net/about/',
|
||||
'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'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,10 +11,53 @@
|
|||
<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 }}" />
|
||||
{% 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 %}
|
||||
<main class="content-body h-feed hfeed {{ category.name }}" property="h-feed">
|
||||
<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>
|
||||
|
||||
|
||||
|
@ -22,6 +65,10 @@
|
|||
{% for post in posts %}
|
||||
{% set _year = year.pop() %}
|
||||
{% if category.display == 'flat' and _year != post.year %}
|
||||
{% if not loop.first %}
|
||||
</section>
|
||||
{% endif %}
|
||||
<section>
|
||||
<h2>{{ post.year }}</h2>
|
||||
{% endif %}
|
||||
{% set _ = year.append(post.year)%}
|
||||
|
@ -98,45 +145,9 @@
|
|||
</p>
|
||||
</footer>
|
||||
</article>
|
||||
{% if loop.last %}
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</main>
|
||||
{% 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 %}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{% extends "base.j2.html" %}
|
||||
|
||||
{% block meta %}
|
||||
<meta name="author" content="{{ author.name }} <{{ author.email }}>" />
|
||||
<meta name="description" content="{{ post.summary|e }}" />
|
||||
|
@ -9,6 +10,7 @@
|
|||
<link rel="feed" title="{{ category.title}} feed" href="{{ category.url }}" />
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block licence %}
|
||||
<link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" />
|
||||
{% endblock %}
|
||||
|
@ -23,14 +25,15 @@
|
|||
|
||||
{% for category, latest in elements %}
|
||||
<section>
|
||||
<h2>Latest in
|
||||
<a href="{{ category.url }}/">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-{{ category.name }}" /></svg>
|
||||
{{ category.name }}
|
||||
</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>
|
||||
<h2 class="p-name entry-title" property="p-name" itemprop="name headline" >
|
||||
Latest in
|
||||
<a href="{{ category.url }}/">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-{{ category.name }}" /></svg>
|
||||
{{ category.name }}
|
||||
</a><br />
|
||||
<h3 class="p-name entry-title" property="p-name" itemprop="name headline" >
|
||||
{% if latest.is_reply %}
|
||||
<svg class="icon" width="16" height="16">
|
||||
<use xlink:href="#icon-reply" />
|
||||
|
@ -46,7 +49,7 @@
|
|||
<span class="entry-title p-name" property="p-name">{{ latest.title }}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</h2>
|
||||
</h3>
|
||||
</header>
|
||||
|
||||
{% if latest.summary %}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{% extends "base.j2.html" %}
|
||||
|
||||
{% block meta %}
|
||||
<meta name="author" content="{{ author.name }} <{{ author.email }}>" />
|
||||
<meta name="description" content="{{ post.summary|e }}" />
|
||||
|
@ -9,6 +10,7 @@
|
|||
</style>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block prism %}
|
||||
{% if post.has_code %}
|
||||
<script>
|
||||
|
@ -16,6 +18,276 @@
|
|||
</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block licence %}
|
||||
<link rel="license" href="https://spdx.org/licenses/{{ post.licence }}.html" type="{{ post.licence }}" />
|
||||
{% 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 %}
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" />
|
||||
<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 %}
|
||||
{% for key, value in meta.items() %}
|
||||
<link rel="{{ key }}" href="{{ value }}" />
|
||||
{% endfor %}
|
||||
{% block meta %}{% endblock %}
|
||||
<style media="all">
|
||||
{% include 'style-experiment.css' %}
|
||||
{% include 'style.css' %}
|
||||
</style>
|
||||
<style id="css_alt" media="speech">
|
||||
{% include 'style-alt.css' %}
|
||||
|
@ -21,6 +21,7 @@
|
|||
{% include 'style-print.css' %}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<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 %}
|
||||
|
@ -29,42 +30,16 @@
|
|||
<section>
|
||||
<nav>
|
||||
<ul>
|
||||
{% for key, data in menu.items() %}
|
||||
<li>
|
||||
<a title="home" href="{{ site.url }}/" class="{{ activemenu('home') }}">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-home" /></svg>
|
||||
home
|
||||
</a>
|
||||
</li>
|
||||
<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 title="{{ data.text }}" href="{{ data.url }}" class="{{ activemenu(key) }}">
|
||||
<svg width="16" height="16">
|
||||
<use xlink:href="#icon-{{ key }}" />
|
||||
</svg>
|
||||
{{ data.text }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
@ -82,7 +57,7 @@
|
|||
<label for="lightscheme">light</label>
|
||||
</span>
|
||||
</form>
|
||||
<form role="search" method="get" action="{{ site.url }}/search.php">
|
||||
<form role="search" method="get" action="{{ site.search }}">
|
||||
<label for="qsub">
|
||||
<input type="submit" value="search" id="qsub" name="qsub" />
|
||||
<svg width="16" height="16">
|
||||
|
@ -96,352 +71,60 @@
|
|||
</header>
|
||||
|
||||
{% 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 %}
|
||||
|
||||
{% block pagination %}
|
||||
{% 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">
|
||||
<section>
|
||||
<div>
|
||||
<p>
|
||||
<a href="https://creativecommons.org/">CC</a>,
|
||||
1999-2018,
|
||||
<span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
|
||||
<img class="photo avatar u-photo u-avatar"
|
||||
property="u-photo u-avatar"
|
||||
src="{{ author.avatar }}"
|
||||
alt="Photo of {{ author.name }}"
|
||||
itemprop="image url" />
|
||||
</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>
|
||||
</p>
|
||||
<p>
|
||||
<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 }}">
|
||||
<svg width="16" height="16">
|
||||
<title>email</title>
|
||||
<use xlink:href="#icon-mail"></use>
|
||||
</svg>
|
||||
<span itemprop="email">{{ author.email }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% 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>
|
||||
<ul>
|
||||
<li>
|
||||
<a title="CV" href="{{ site.url }}/about/">
|
||||
<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>
|
||||
followings
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a title="CV" href="{{ site.url }}/cv.html">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-resume" /></svg>
|
||||
resume
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</section>
|
||||
<p>
|
||||
<a href="https://creativecommons.org/">CC</a>,
|
||||
1999-2019,
|
||||
<span itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
|
||||
<img class="photo avatar u-photo u-avatar"
|
||||
property="u-photo u-avatar"
|
||||
src="{{ author.avatar }}"
|
||||
alt="Photo of {{ author.name }}"
|
||||
itemprop="image url" />
|
||||
</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="u-email email" property="u-email" rel="me" href="mailto:{{ author.email }}">
|
||||
<svg width="16" height="16">
|
||||
<title>email</title>
|
||||
<use xlink:href="#icon-mail"></use>
|
||||
</svg>
|
||||
<span itemprop="email">{{ author.email }}</span>
|
||||
</a>
|
||||
</p>
|
||||
<nav>
|
||||
<ul>
|
||||
<li>
|
||||
<a title="following" href="{{ author.following }}">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-following" /></svg>
|
||||
followings
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a title="CV" href="{{ author.cv }}">
|
||||
<svg width="16" height="16"><use xlink:href="#icon-resume" /></svg>
|
||||
resume
|
||||
</a>
|
||||
</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>
|
||||
</nav>
|
||||
<p>
|
||||
<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>
|
||||
|
||||
<script>
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: #708090;
|
||||
color: #789;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
|
@ -10,7 +11,6 @@
|
|||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
|
@ -37,7 +37,7 @@
|
|||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
color: #a74;
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
|
@ -48,7 +48,7 @@
|
|||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
color: #D57;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
|
@ -67,4 +67,4 @@
|
|||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
body {
|
||||
color: #222;
|
||||
color: #000;
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
|
@ -62,4 +61,4 @@ input {
|
|||
body > footer a:hover {
|
||||
color: #fff;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
}
|
|
@ -1,17 +1,18 @@
|
|||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
font-family: "Courier New", "Courier", monospace;
|
||||
font-size: 100%;
|
||||
font-family: "Courier", monospace;
|
||||
font-size: 11.5pt;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #ccc;
|
||||
background-color: #26272A;
|
||||
color: #eee;
|
||||
background-color: #222;
|
||||
}
|
||||
|
||||
body > header,
|
||||
|
@ -49,6 +50,7 @@ main p {
|
|||
|
||||
h1 {
|
||||
border-bottom: 4px double #999;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
|
||||
article > footer > dl > dt,
|
||||
|
@ -121,6 +123,7 @@ body > header a {
|
|||
font-weight: bold;
|
||||
border-bottom: 3px solid transparent;
|
||||
padding-bottom: 0.1em;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
|
||||
body > header a:hover,
|
||||
|
@ -171,8 +174,8 @@ body > footer {
|
|||
margin-top: 2em;
|
||||
}
|
||||
|
||||
body > footer > section > div > * {
|
||||
margin: 0.6em 0;
|
||||
body > footer > * {
|
||||
margin-bottom: 0.6em;
|
||||
}
|
||||
|
||||
body > footer .email span {
|
||||
|
@ -220,7 +223,7 @@ footer img {
|
|||
}
|
||||
|
||||
code, pre {
|
||||
color: #32CD32;
|
||||
color: #3c3;
|
||||
border: 1px solid #666;
|
||||
direction: ltr;
|
||||
word-break: break-all;
|
||||
|
@ -272,6 +275,10 @@ th, tr:nth-child(even) {
|
|||
background-color: rgba(255, 255, 255, .1);
|
||||
}
|
||||
|
||||
main > header > p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
main ul {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
@ -284,10 +291,15 @@ li p {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.encourage {
|
||||
.encourage, .encourage a {
|
||||
color: #090;
|
||||
}
|
||||
|
||||
.encourage a {
|
||||
color: #0a0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.encourage h2 {
|
||||
border-color: #090;
|
||||
}
|
||||
|
@ -312,6 +324,19 @@ li p {
|
|||
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) {
|
||||
body > header > section,
|
||||
body > footer > section {
|
||||
|
@ -335,4 +360,4 @@ body > img {
|
|||
right: 0;
|
||||
width: 10em;
|
||||
height: auto;
|
||||
}
|
||||
}
|
|
@ -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">
|
||||
<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">
|
||||
<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 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">
|
||||
<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>
|
||||
|
@ -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="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-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>
|
||||
</symbol>
|
||||
<symbol id="icon-home" viewBox="0 0 16 16">
|
||||
|
@ -68,26 +62,12 @@
|
|||
<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>
|
||||
</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">
|
||||
<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 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>
|
||||
</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">
|
||||
<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>
|
||||
|
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 12 KiB |
|
@ -29,7 +29,7 @@ function setTheme(e) {
|
|||
localStorage.removeItem(STORAGE_KEY);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue