- added special templates option per category

- changed layout for journal/articles: single page, per year grouping
- adaptimg wide view
This commit is contained in:
Peter Molnar 2018-03-28 14:19:14 +00:00
parent 80b7dd3930
commit a506d9d18f
14 changed files with 310 additions and 265 deletions

111
nasg.py
View file

@ -196,9 +196,17 @@ class Category(NoDupeContainer):
def __init__(self, name=''):
self.name = name
self.topics = NoDupeContainer()
super().__init__()
def append(self, post):
if len(post.tags) == 1:
topic = post.tags[0]
if topic not in self.topics:
t = NoDupeContainer()
self.topics.append(topic, t)
t = self.topics[topic]
t.append(post.pubtime, post)
return super().append(post.pubtime, post)
@property
@ -222,6 +230,19 @@ class Category(NoDupeContainer):
shared.config.get('common', 'domain')
])
@property
def is_altrender(self):
return os.path.exists(
os.path.join(
shared.config.get('dirs', 'tmpl'),
"%s_%s.html" % (
self.__class__.__name__,
self.name
)
)
)
@property
def url(self):
if self.name:
@ -253,7 +274,70 @@ class Category(NoDupeContainer):
os.makedirs(x)
return x
def write_feed(self, posttmpls):
def write_html(self, path, content):
with open(path, 'wt') as out:
logging.debug('writing file %s', path)
out.write(content)
os.utime(path, (self.mtime, self.mtime))
async def render(self):
if self.is_altrender:
self.render_onepage()
else:
self.render_paginated()
self.render_feed()
def render_onepage(self):
years = {}
for k in list(sorted(self.data.keys(), reverse=True)):
post = self.data[k]
year = int(arrow.get(post.pubtime).format('YYYY'))
if year not in years:
years.update({year: []})
years[year].append(post.tmplvars)
tmplvars = {
'taxonomy': {
'title': self.title,
'name': self.name,
'lastmod': arrow.get(self.mtime).format(
shared.ARROWFORMAT['rcf']
),
'url': self.url,
'feed': "%s/%s/" % (
self.url,
shared.config.get('site', 'feed')
),
},
'site': shared.site,
'by_year': years
}
dirname = self.path_paged(1)
o = os.path.join(dirname, self.indexfile)
logging.info(
"Rendering category %s to %s",
self.name,
o
)
tmplfile = "%s_%s.html" % (
self.__class__.__name__,
self.name
)
r = shared.j2.get_template(tmplfile).render(tmplvars)
self.write_html(o, r)
def render_feed(self):
start = 0
end = int(shared.config.getint('display', 'pagination'))
posttmpls = [
self.data[k].tmplvars
for k in list(sorted(
self.data.keys(),
reverse=True
))[start:end]
]
dirname = self.path_paged(1, feed=True)
o = os.path.join(dirname, self.feedfile)
logging.info(
@ -311,13 +395,7 @@ class Category(NoDupeContainer):
)
logging.info(r.text)
def write_html(self, path, content):
with open(path, 'wt') as out:
logging.debug('writing file %s', path)
out.write(content)
os.utime(path, (self.mtime, self.mtime))
async def render(self):
def render_paginated(self):
pagination = shared.config.getint('display', 'pagination')
pages = ceil(len(self.data) / pagination)
page = 1
@ -367,11 +445,6 @@ class Category(NoDupeContainer):
tmplfile = "%s.html" % (self.__class__.__name__)
r = shared.j2.get_template(tmplfile).render(tmplvars)
self.write_html(o, r)
# render feed
if page == 1:
self.write_feed(posttmpls)
# inc. page counter
page = page + 1
@ -633,10 +706,6 @@ class Singular(object):
def html(self):
html = "%s" % (self.body)
## add photo
#if self.photo:
#html = "%s\n%s" % (str(self.photo), html)
return shared.Pandoc().convert(html)
@property
@ -1455,6 +1524,7 @@ def build():
for name, c in collector_categories:
if not c.is_uptodate or shared.config.getboolean('params', 'force'):
worker.append(c.render())
# TODO move ping to separate function and add it as a task
# TODO separate an aiohttpworker?
@ -1471,8 +1541,13 @@ def build():
src = shared.config.get('dirs', 'static')
for item in os.listdir(src):
s = os.path.join(src, item)
stime = os.path.getmtime(s)
d = os.path.join(shared.config.get('common', 'build'), item)
if not os.path.exists(d) or shared.config.getboolean('params', 'force'):
dtime = 0
if os.path.exists(d):
dtime = os.path.getmtime(d)
if not os.path.exists(d) or shared.config.getboolean('params', 'force') or dtime < stime:
logging.debug("copying static file %s to %s", s, d)
shutil.copy2(s, d)
if '.html' in item:

View file

@ -671,48 +671,6 @@ def __setup_sitevars():
SiteVars.update({'tips': tips})
return SiteVars
#def notify(msg):
### telegram notification, if set
##if not config.has_section('api_telegram'):
##return
##url = "https://api.telegram.org/bot%s/sendMessage" % (
##config.get('api_telegram', 'api_token')
##)
##data = {
##'chat_id': config.get('api_telegram', 'chat_id'),
##'text': msg
##}
### fire and forget
##try:
##requests.post(url, data=data)
##except BaseException:
##pass
#headers = {
#'Subject': 'notification from NASG',
#'Content-Type': 'text/plain; charset=utf-8',
#'Content-Disposition': 'inline',
#'Content-Transfer-Encoding': '8bit',
#'From': 'nasg@%s' % (socket.getfqdn()),
#'To': config.get('author', 'email'),
#'Date': arrow.now().strftime('%a, %d %b %Y %H:%M:%S %Z'),
#}
## create the message
#mail = ''
#for key, value in headers.items():
#mail += "%s: %s\n" % ( key, value )
## add contents
#mail += "\n%s\n" % ( msg )
#s = smtplib.SMTP( '127.0.0.1', 25 )
#s.sendmail( headers['From'], headers['To'], msg.encode("utf8") )
#s.quit()
ARROWFORMAT = {
'iso': 'YYYY-MM-DDTHH:mm:ssZ',
'display': 'YYYY-MM-DD HH:mm',

View file

@ -8,14 +8,16 @@
<section class="content-body h-feed">
<aside class="follow">
<p>
<svg class="icon"><use xlink:href="#icon-rss" /></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-rss" />
</svg>
<a title="follow {{ taxonomy.title }}" href="{{ site.url }}{{ taxonomy.feed }}">Atom feed</a>
</p>
</aside>
<h1 class="p-name hide">{{ taxonomy.name }}</h1>
{% for post in posts %}
<article class="h-entry hentry">
<article class="h-entry hentry" lang="{{ post.lang }}">
<header>
<h2>{% include 'Singular_title.html' %}</h2>
</header>
@ -25,7 +27,7 @@
<div class="e-summary entry-summary">
{{ post.summary }}
<span class="more">
<a href="/{{ post.slug }}" title="{{ post.title }}"></a>
<a href="/{{ post.slug }}" title="{{ post.title }}">[…]</a>
</span>
<br class="clear" />
</div>

View file

@ -0,0 +1,49 @@
{% include 'block_header_open.html' %}
<title>{{ taxonomy.title }}</title>
<link rel="alternate" type="application/atom+xml" title="{{ taxonomy.title }} feed" href="{{ taxonomy.feed }}" />
<link rel="self" href="{{ site.url }}{{ taxonomy.feed }}/" />
{% include 'block_header_close.html' %}
<section class="content-body h-feed">
<aside class="follow">
<p>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-rss" />
</svg>
<a title="follow {{ taxonomy.title }}" href="{{ site.url }}{{ taxonomy.feed }}">Atom feed</a>
</p>
</aside>
<h1 class="p-name hide">{{ taxonomy.name }}</h1>
{% for year in by_year.keys()|sort(reverse=True) %}
<h2>{{ year }}</h2>
{% for post in by_year[year]|sort(attribute='pubtime',reverse=True) %}
<article class="h-entry hentry" lang="{{ post.lang }}">
<header>
<h3>{% include 'Singular_title.html' %}</h3>
</header>
{% if post.summary %}
<div class="e-summary entry-summary">
{{ post.summary }}
<span class="more">
<a href="/{{ post.slug }}" title="{{ post.title }}">[…]</a>
</span>
<br class="clear" />
</div>
{% else %}
<div class="e-content entry-content">
{% if post.photo %}
{{ post.photo }}
{% endif %}
{{ post.html }}
</div>
{% endif %}
</article>
{% endfor %}
{% endfor %}
</section>
{% include 'block_footer.html' %}

View file

@ -0,0 +1 @@
Category_article.html

View file

@ -1,86 +0,0 @@
{% include 'block_header_open.html' %}
<title>{{ taxonomy.title }}</title>
<link rel="alternate" type="application/atom+xml" title="{{ taxonomy.title }} feed" href="{{ taxonomy.feed }}" />
<link rel="self" href="{{ site.url }}{{ taxonomy.feed }}/" />
{% include 'block_header_close.html' %}
<section class="content-body h-feed photos">
<aside class="follow">
<p>
<svg class="icon"><use xlink:href="#icon-rss" /></svg>
<a title="follow {{ taxonomy.title }}" href="{{ site.url }}{{ taxonomy.feed }}">Atom feed</a>
</p>
</aside>
{% for post in posts %}
{{ post.photo }}
{% endfor %}
</section>
{% if taxonomy.total > 1 %}
{# based on: http://dev.dbl-a.com/symfony-2-0/symfony2-and-twig-pagination/ #}
<nav class="pagination">
<ul>
{% if taxonomy.page > 1 %}
{% set prev = taxonomy.page - 1 %}
<li>
<a rel="prev" href="{{ taxonomy.url }}page/{{ prev }}">«</a>
</li>
<li>
<a rel="prev" href="{{ taxonomy.url }}">1</a>
</li>
{% endif %}
{% if taxonomy.page - 4 > 0 %}
<li>
<span class="page-numbers dots"></span>
</li>
{% endif %}
{% if ( taxonomy.page - 1 > 1 ) %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.page - 1 }}">{{ taxonomy.page - 1 }}</a>
</li>
{% endif %}
<li>
<span class="page-numbers taxonomy.page">{{ taxonomy.page }}</span>
</li>
{% if ( taxonomy.page + 1 <= taxonomy.total -1 ) %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.page + 1 }}">{{ taxonomy.page + 1 }}</a>
</li>
{% endif %}
{% if taxonomy.page + 3 < taxonomy.total %}
<li>
<span class="page-numbers dots"></span>
</li>
{% endif %}
{% if taxonomy.page != taxonomy.total %}
<li>
<a href="{{ taxonomy.url }}page/{{ taxonomy.total }}">{{ taxonomy.total }}</a>
</li>
{% endif %}
{% if taxonomy.page < taxonomy.total %}
{% set next = taxonomy.page + 1 %}
<li>
<a rel="next" href="{{ taxonomy.url }}page/{{ next }}">»</a>
</li>
{% endif %}
</ul>
</nav>
{% endif %}
{% include 'block_footer.html' %}

View file

@ -15,7 +15,9 @@
</span>
{% if 'webmention' == comment.type %}
<span class="source">
<svg class="icon"><use xlink:href="#icon-link"></use></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-link"></use>
</svg>
<a class="u-url" href="{{ comment.source }}">{{ comment.source }}</a>
</span>
{% else %}

View file

@ -15,12 +15,6 @@
<article class="h-entry hentry singular" lang="{{ post.lang }}">
<header>
<h1>{% include 'Singular_title.html' %}</h1>
{% if 'article' == post.category and post.age >= 2 %}
<h2 class="old-warning">WARNING: this entry was published at {{ post.pubdate }}.<br />It might be outdated.</h2>
{% endif %}
{% for url in post.syndicate %}
<a href="{{ url }}"></a>
{% endfor %}
</header>
{% if post.summary %}
@ -52,15 +46,21 @@
<p class="license">
{% if post.licence.text == 'CC BY 4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/" class="hide u-license">CC BY 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-creative-commons" />
</svg>
Licensed under <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International</a>. You are free to share or republish, even if modified, if you link back here and indicate the modifications, even for commercial use.
{% elif post.licence.text == 'CC BY-NC 4.0' %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/" class="hide u-license">CC BY-NC 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-creative-commons" />
</svg>
Licensed under <a href="https://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution-NonCommercial 4.0 International</a>. You are free to share or republish, even if modified, if you link back here and indicate the modifications, for non commercial use. For commercial use please contact the author.
{% else %}
<a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" class="hide u-license">CC BY-NC-ND 4.0</a>
<svg class="icon"><use xlink:href="#icon-creative-commons" /></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-creative-commons" />
</svg>
Licensed under <a href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International</a>. You are free to share if you link back here for non commercial use, but you can't publish any altered versions of it. For commercial use please contact the author.
{% endif %}
</p>
@ -84,7 +84,9 @@
<a rel="payment" title="pay {{ site.author.name }} via {{ data.label }} {{ data.value }}" href="{{ data.url }}">
{{ data.value }}
<span class="method">
<svg class="icon"><use xlink:href="#icon-{{ method }}"></use></svg>
<svg class="icon" width="16" height="16">
<use xlink:href="#icon-{{ method }}"></use>
</svg>
with {{ data.label }}
</span>
</a>
@ -93,10 +95,26 @@
</ul>
</aside>
{% if post.syndicate|length %}
<section class="syndication">
<!-- <h2><a name="syndication"></a>Syndicated copies</h2>
<ul>
{% for url in post.syndicate %}
<li>
<a href="{{ url }}" class="u-syndication"></a>
</li>
{% endfor %}
</ul>
-->
{% for url in post.syndicate %}
<a href="{{ url }}" class="u-syndication"></a>
{% endfor %}
{% endif %}
{% if post.replies|length %}
<section class="replies">
<h6><a name="replies"></a>Replies</h6>
<h2><a name="replies"></a>Replies</h2>
<ol>
{% for mtime, comment in post.replies %}
{% include 'Comment.html' %}
@ -106,7 +124,7 @@
{% endif %}
{% if post.reactions|length %}
<section class="reactions">
<h6><a name="reactions"></a>Reactions</h6>
<h2><a name="reactions"></a>Reactions</h2>
<dl>
{% for character, comments in post.reactions.items() %}
<dt>{{ character }}</dt>

View file

@ -1,6 +1,9 @@
{% if post.is_reply %}
<span class="p-name">
<svg class="icon"><use xlink:href="#icon-reply" /></svg>
<svg class="icon" width="16" height="16"><use xlink:href="#icon-reply" /></svg>
<a href="{{ post.slug }}" class="u-url" title="{{ post.title }}">
RE:
</a>
<a href="{{ post.is_reply }}" class="u-in-reply-to" title="Reply to: {{ post.is_reply }}">
{{ post.is_reply }}
</a>

View file

@ -7,27 +7,27 @@
<dl class="exif">
{% if photo.exif.camera %}
<dt>Camera</dt>
<dd><svg class="icon"><use xlink:href="#icon-camera" /></svg>{{ photo.exif.camera }}</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-camera" /></svg>{{ photo.exif.camera }}</dd>
{% endif %}
{% if photo.exif.aperture %}
<dt>Aperture</dt>
<dd><svg class="icon"><use xlink:href="#icon-aperture" /></svg>f/{{ photo.exif.aperture }}</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-aperture" /></svg>f/{{ photo.exif.aperture }}</dd>
{% endif %}
{% if photo.exif.shutter_speed %}
<dt>Shutter speed</dt>
<dd><svg class="icon"><use xlink:href="#icon-clock" /></svg>{{ photo.exif.shutter_speed }} sec</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-clock" /></svg>{{ photo.exif.shutter_speed }} sec</dd>
{% endif %}
{% if photo.exif.focallength %}
<dt>Focal length (as set)</dt>
<dd><svg class="icon"><use xlink:href="#icon-focallength" /></svg>{{ photo.exif.focallength }}</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-focallength" /></svg>{{ photo.exif.focallength }}</dd>
{% endif %}
{% if photo.exif.iso %}
<dt>Sensitivity</dt>
<dd><svg class="icon"><use xlink:href="#icon-sensitivity" /></svg>ISO {{ photo.exif.iso }}</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-sensitivity" /></svg>ISO {{ photo.exif.iso }}</dd>
{% endif %}
{% if photo.exif.lens %}
<dt>Lens</dt>
<dd><svg class="icon"><use xlink:href="#icon-lens" /></svg>{{ photo.exif.lens }}</dd>
<dd><svg class="icon" width="16" height="16"><use xlink:href="#icon-lens" /></svg>{{ photo.exif.lens }}</dd>
{% endif %}
</dl>
{% endif %}

View file

@ -1,6 +1,7 @@
<footer class="content-footer" id="main-footer">
<nav class="footer-contact p-author h-card vcard limit">
<h2>Author</h2>
<dl>
<dt>name</dt>
<dd>
@ -9,20 +10,17 @@
</dd>
<dt>email</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-email" /></svg>
<a rel="me" class="u-email email" href="mailto:{{ site.author.email }}">{{ site.author.email }}</a>
</dd>
{% if site.author.sip %}
<dt>SIP</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-phone" /></svg>
<a rel="me" class="u-sip sip" href="sip:{{ site.author.sip }}">sip:{{ site.author.sip }}</a>
</dd>
{% endif %}
{% if site.author.gpg %}
<dt>GPG/PGP public key</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-key" /></svg>
<a rel="me" class="u-gpg gpg" href="{{ site.url }}/{{ site.author.gpg }}">GPG key</a>
</dd>
{% endif %}
@ -32,7 +30,6 @@
<dt>{{ silo }}</dt>
<dd>
<svg class="icon"><use xlink:href="#icon-{{ silo }}" /></svg>
<a rel="me" class="u-{{ silo }} url u-url" href="{{ url }}">{{ silo }}</a>
</dd>
{% endfor %}
@ -40,5 +37,7 @@
</nav>
</footer>
{% include 'symbols.svg' %}
</body>
</html>

View file

@ -3,7 +3,6 @@
</style>
</head>
<body>
{% include 'symbols.svg' %}
<header class="content-header" id="main-header">
<nav class="content-navigation">
@ -14,7 +13,7 @@
{% set cssclass = 'active' %}
{% endif %}
<a title="home" href="/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-home" /></svg>
<svg class="icon" width="16" height="16"><use xlink:href="#icon-home" /></svg>
home
</a>
</li>
@ -24,7 +23,7 @@
{% endif %}
<li>
<a title="photos" href="/category/photo/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-photo" /></svg>
<svg class="icon" width="18" height="16"><use xlink:href="#icon-photo" /></svg>
photos
</a>
</li>
@ -34,7 +33,7 @@
{% endif %}
<li>
<a title="journal" href="/category/journal/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-journal" /></svg>
<svg class="icon" width="16" height="16"><use xlink:href="#icon-journal" /></svg>
journal
</a>
</li>
@ -44,7 +43,7 @@
{% endif %}
<li>
<a title="IT" href="/category/article/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-article" /></svg>
<svg class="icon" width="16" height="16"><use xlink:href="#icon-article" /></svg>
IT
</a>
</li>
@ -54,7 +53,7 @@
{% endif %}
<li>
<a title="notes" href="/category/note/" class="{{ cssclass }}">
<svg class="icon"><use xlink:href="#icon-note" /></svg>
<svg class="icon" width="16" height="16"><use xlink:href="#icon-note" /></svg>
notes
</a>
</li>

View file

@ -220,51 +220,6 @@ code.sourceCode span.va { color: turquoise; }
margin: 1rem auto;
}
.h-entry {
padding: 0 0.6rem;
font-size: 0.9rem;
}
.h-feed .h-entry {
margin: 2rem 0 0 0;
padding: 1rem;
border-bottom: 2px solid #333;
}
/* titles in taxonomy pages */
.h-feed .h-entry h2 {
border: none;
font-size: 1rem;
margin: 0;
padding: 0;
}
/* licence, time, author */
.h-entry footer p {
color: #999;
padding: 0.3rem 0;
display: inline-block;
}
.h-entry footer a {
color: #ccc;
}
.h-entry footer a:hover {
color: #eee;
}
.e-content a {
color:#5193D4;
}
.e-content a:hover {
color:#71B3F4;
}
.singular footer {
margin: 2rem 0;
}
.footnoteRef,
.footnoteRef:hover {
@ -319,7 +274,6 @@ code.sourceCode span.va { color: turquoise; }
color: #ccc;
}
.content-header a,
.content-footer a {
color: #cccccc;
@ -361,6 +315,7 @@ code.sourceCode span.va { color: turquoise; }
font-size: 0.86rem;
}
.content-footer h2,
.content-footer svg,
.content-footer dl dt {
display:none;
@ -445,19 +400,85 @@ input[type=submit]:hover {
border-bottom: 3px solid #fefefe;
}
.h-feed h2 {
margin-bottom: 1rem;
}
.h-feed .h-entry {
margin-left: 1rem;
}
.h-feed .h-entry h3 {
font-size: 0.9rem;
}
.h-feed .h-entry .e-summary,
.h-feed .h-entry .e-content {
font-size: 0.8rem;
}
.h-feed .h-entry .e-content {
margin-bottom: 3rem;
}
.h-entry.singular {
padding: 0 0.6rem;
font-size: 0.9rem;
}
.h-entry.singular .e-content a,
.h-entry.singular .e-summary a {
color:#5193D4;
}
.h-feed .h-entry h2 a:hover,
.h-entry.singular .e-content a:hover,
.h-entry.singular .e-summary a:hover {
color:#71B3F4;
}
.h-entry.singular footer p {
color: #999;
padding: 0.3rem 0;
display: inline-block;
}
.h-entry.singular footer a {
color: #ccc;
}
.h-entry.singular footer a:hover {
color: #eee;
}
.h-entry.singular footer {
margin: 2rem 0;
}
.reactions h2,
.replies h2,
.syndication h2 {
border:none;
}
figure {
margin: 1rem 0;
position:relative;
}
figcaption dl * {
font-size: 0.5rem;
}
figcaption {
background-color: #111;
text-align: left;
max-width: 722px;
max-width: 72ch;
margin: 0 auto;
background-color: #111;
padding: 0.6rem;
}
.adaptimg {
display: block;
max-height: 98vh;
@ -490,14 +511,11 @@ figcaption {
border-bottom-color: #fff;
}
.more {
display:block;
font-weight:bold;
}
/*
.more a:before {
content:'Continue \00BB';
}
*/
.pagination ul {
text-align:center;
@ -542,14 +560,14 @@ figcaption {
.w25 {
width: 24%;
}
/*
.u-in-reply-to::before {
content: 'RE:';
dislay: inline-block;
margin-right: 0.3rem;
font-weight: bold;
}
*/
.search-section {
margin-bottom: 1rem;
@ -639,7 +657,7 @@ figcaption {
*/
/* above is mobile first; this is the desktop */
@media all and (min-width: 50rem) {
@media all and (min-width: 56rem) {
.content-navigation ul li a {
font-size: 0.9rem;
@ -658,6 +676,19 @@ figcaption {
margin: 0.1rem;
}
figcaption {
position: absolute;
right: 0;
top: 0;
max-width: 28%;
}
.adaptimg {
max-width: 70%;
margin: 0;
}
}

View file

@ -62,10 +62,4 @@
<symbol id="icon-creative-commons" viewBox="0 0 16 16">
<path d="M5.402 11.009c1.464 0 2.259-0.893 2.295-0.929 0.071-0.089 0.089-0.223 0.027-0.321l-0.402-0.732c-0.036-0.080-0.125-0.134-0.214-0.152-0.089-0.009-0.179 0.027-0.241 0.098-0.009 0-0.571 0.598-1.393 0.598-0.902 0-1.554-0.661-1.554-1.58 0-0.911 0.634-1.563 1.518-1.563 0.741 0 1.232 0.5 1.232 0.5 0.063 0.063 0.143 0.098 0.232 0.089s0.17-0.054 0.214-0.125l0.473-0.696c0.071-0.107 0.063-0.25-0.018-0.348-0.027-0.036-0.75-0.857-2.17-0.857-1.759 0-3.071 1.295-3.071 3.009 0 1.741 1.286 3.009 3.071 3.009zM11.027 11.009c1.473 0 2.259-0.893 2.295-0.929 0.071-0.089 0.089-0.223 0.036-0.321l-0.402-0.732c-0.045-0.080-0.125-0.134-0.223-0.152-0.089-0.009-0.179 0.027-0.241 0.098-0.009 0-0.571 0.598-1.393 0.598-0.902 0-1.554-0.661-1.554-1.58 0-0.911 0.634-1.563 1.518-1.563 0.75 0 1.232 0.5 1.232 0.5 0.063 0.063 0.143 0.098 0.232 0.089s0.17-0.054 0.214-0.125l0.473-0.696c0.071-0.107 0.063-0.25-0.018-0.348-0.027-0.036-0.75-0.857-2.17-0.857-1.75 0-3.071 1.295-3.071 3.009 0 1.741 1.286 3.009 3.071 3.009zM8 1.429c-3.625 0-6.571 2.946-6.571 6.571s2.946 6.571 6.571 6.571 6.571-2.946 6.571-6.571-2.946-6.571-6.571-6.571zM8 0c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8z"></path>
</symbol>
<symbol id="icon-btc" viewBox="0 0 12 16">
<path d="M10.42 5.714c0.116 1.188-0.384 1.902-1.17 2.304 1.304 0.313 2.125 1.089 1.964 2.83-0.205 2.17-1.813 2.75-4.116 2.875v2.277h-1.375v-2.241c-0.348 0-0.714 0-1.089-0.009v2.25h-1.375v-2.277c-0.321 0-0.643-0.009-0.973-0.009h-1.786l0.277-1.634c1.009 0.018 0.991 0 0.991 0 0.384 0 0.491-0.277 0.518-0.455v-3.589h0.143c-0.054-0.009-0.107-0.009-0.143-0.009v-2.563c-0.054-0.286-0.232-0.607-0.795-0.607 0 0 0.018-0.018-0.991 0v-1.464l1.893 0.009c0.277 0 0.571 0 0.866-0.009v-2.25h1.375v2.205c0.366-0.009 0.732-0.018 1.089-0.018v-2.188h1.375v2.25c1.768 0.152 3.17 0.696 3.321 2.321zM8.5 10.58c0-1.768-2.911-1.509-3.839-1.509v3.018c0.929 0 3.839 0.196 3.839-1.509zM7.866 6.33c0-1.616-2.429-1.375-3.205-1.375v2.741c0.777 0 3.205 0.179 3.205-1.366z"></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>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB