Back on prismjs <https://prismjs.com/> for syntax highlighting.
While Pandoc was generating something sane, the output of CodeHilite puts silly amount of extra text and makes the HTML output completely unreadable. In the end, it still looks like prism.js is a nice and solid solution, even if it's JS. I'll explore other options, but so far, it's either back to Pandoc, or sticking with Prism.
This commit is contained in:
parent
3d68fb335c
commit
96d0c238d6
11 changed files with 689 additions and 927 deletions
57
html5_fenced_code.py
Normal file
57
html5_fenced_code.py
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
"""
|
||||||
|
This is a simplified FencedBlockPreprocessor which outputs "proper" <code>
|
||||||
|
naming, eg. language-python, instead of just python, so prism.js understands
|
||||||
|
it.
|
||||||
|
|
||||||
|
It doesn't deal with CodeHilite.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from markdown.preprocessors import Preprocessor
|
||||||
|
from markdown.extensions import Extension
|
||||||
|
from markdown.extensions.fenced_code import FencedBlockPreprocessor
|
||||||
|
|
||||||
|
class HTML5FencedBlockPreprocessor(Preprocessor):
|
||||||
|
FENCED_BLOCK_RE = FencedBlockPreprocessor.FENCED_BLOCK_RE
|
||||||
|
CODE_WRAP = '<pre><code%s>%s</code></pre>'
|
||||||
|
LANG_TAG = ' class="language-%s"'
|
||||||
|
|
||||||
|
def __init__(self, md):
|
||||||
|
super(HTML5FencedBlockPreprocessor, self).__init__(md)
|
||||||
|
|
||||||
|
def run(self, lines):
|
||||||
|
text = "\n".join(lines)
|
||||||
|
while 1:
|
||||||
|
m = self.FENCED_BLOCK_RE.search(text)
|
||||||
|
if m:
|
||||||
|
lang = ''
|
||||||
|
if m.group('lang'):
|
||||||
|
lang = self.LANG_TAG % (m.group('lang'))
|
||||||
|
|
||||||
|
code = self.CODE_WRAP % (
|
||||||
|
lang,
|
||||||
|
m.group('code')
|
||||||
|
)
|
||||||
|
|
||||||
|
placeholder = self.markdown.htmlStash.store(code)
|
||||||
|
text = '%s\n%s\n%s' % (
|
||||||
|
text[:m.start()],
|
||||||
|
placeholder,
|
||||||
|
text[m.end():]
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
return text.split("\n")
|
||||||
|
|
||||||
|
|
||||||
|
class HTML5FencedCodeExtension(Extension):
|
||||||
|
def extendMarkdown(self, md, md_globals):
|
||||||
|
md.registerExtension(self)
|
||||||
|
md.preprocessors.add(
|
||||||
|
'html5_fenced_code',
|
||||||
|
HTML5FencedBlockPreprocessor(md),
|
||||||
|
">normalize_whitespace"
|
||||||
|
)
|
||||||
|
|
||||||
|
def makeExtension(*args, **kwargs):
|
||||||
|
return HTML5FencedCodeExtension(*args, **kwargs)
|
38
nasg.py
38
nasg.py
|
@ -35,6 +35,7 @@ import requests
|
||||||
import exiftool
|
import exiftool
|
||||||
import settings
|
import settings
|
||||||
import keys
|
import keys
|
||||||
|
import html5_fenced_code
|
||||||
|
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
|
@ -63,13 +64,21 @@ RE_HTTP = re.compile(
|
||||||
MD = markdown.Markdown(
|
MD = markdown.Markdown(
|
||||||
output_format='xhtml5',
|
output_format='xhtml5',
|
||||||
extensions=[
|
extensions=[
|
||||||
'extra',
|
'html5_fenced_code',
|
||||||
'codehilite',
|
'abbr',
|
||||||
|
'attr_list',
|
||||||
|
'def_list',
|
||||||
|
'footnotes',
|
||||||
|
'tables',
|
||||||
|
'smart_strong',
|
||||||
'headerid',
|
'headerid',
|
||||||
'urlize'
|
'urlize',
|
||||||
],
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
RE_CODE = re.compile(
|
||||||
|
r'(?:[~`]{3})(?:[^`]+)?'
|
||||||
|
)
|
||||||
|
|
||||||
class MarkdownDoc(object):
|
class MarkdownDoc(object):
|
||||||
@property
|
@property
|
||||||
|
@ -412,6 +421,13 @@ class Singular(MarkdownDoc):
|
||||||
r[t][mtime] = c.tmplvars
|
r[t][mtime] = c.tmplvars
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
@property
|
||||||
|
def has_code(self):
|
||||||
|
if RE_CODE.search(self.content):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@cached()
|
@cached()
|
||||||
def tmplvars(self):
|
def tmplvars(self):
|
||||||
|
@ -433,6 +449,7 @@ class Singular(MarkdownDoc):
|
||||||
'syndicate': self.syndicate,
|
'syndicate': self.syndicate,
|
||||||
'url': self.url,
|
'url': self.url,
|
||||||
'review': self.meta.get('review', False),
|
'review': self.meta.get('review', False),
|
||||||
|
'has_code': self.has_code,
|
||||||
}
|
}
|
||||||
if (self.enclosure):
|
if (self.enclosure):
|
||||||
v.update({'enclosure': self.enclosure})
|
v.update({'enclosure': self.enclosure})
|
||||||
|
@ -521,8 +538,8 @@ class WebImage(object):
|
||||||
return self.mdimg.match
|
return self.mdimg.match
|
||||||
tmpl = J2.get_template("%s.j2.html" % (self.__class__.__name__))
|
tmpl = J2.get_template("%s.j2.html" % (self.__class__.__name__))
|
||||||
return tmpl.render({
|
return tmpl.render({
|
||||||
'src': self.displayed.relpath,
|
'src': self.src,
|
||||||
'href': self.linked.relpath,
|
'href': self.href,
|
||||||
'width': self.displayed.width,
|
'width': self.displayed.width,
|
||||||
'height': self.displayed.height,
|
'height': self.displayed.height,
|
||||||
'title': self.title,
|
'title': self.title,
|
||||||
|
@ -1315,7 +1332,14 @@ def make():
|
||||||
logging.info('worker finished')
|
logging.info('worker finished')
|
||||||
|
|
||||||
# copy static
|
# copy static
|
||||||
for e in glob.glob(os.path.join(content, '*.*')):
|
staticfiles = []
|
||||||
|
staticpaths = [
|
||||||
|
os.path.join(content, '*.*'),
|
||||||
|
os.path.join(settings.paths.get('tmpl'), '*.js')
|
||||||
|
]
|
||||||
|
for p in staticpaths:
|
||||||
|
staticfiles = staticfiles + glob.glob(p)
|
||||||
|
for e in staticfiles:
|
||||||
t = os.path.join(
|
t = os.path.join(
|
||||||
settings.paths.get('build'),
|
settings.paths.get('build'),
|
||||||
os.path.basename(e)
|
os.path.basename(e)
|
||||||
|
|
2
run
2
run
|
@ -5,4 +5,4 @@ IFS=$'\n\t'
|
||||||
|
|
||||||
source ./.venv/bin/activate
|
source ./.venv/bin/activate
|
||||||
python3 nasg.py "$@"
|
python3 nasg.py "$@"
|
||||||
rsync -avu --delete-after ../www/ liveserver:/web/petermolnar.net/web/
|
rsync -avuhH --delete-after ../www/ liveserver:/web/petermolnar.net/web/
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html {% block lang %}lang="{{ post.lang }}"{% endblock %}>
|
<html {% block lang %}lang="{{ post.lang }}"{% endblock %}>
|
||||||
<head>
|
<head>
|
||||||
<title>{% block title %}{{ post.title }} - petermolnar.net{% endblock %}</title>
|
<title>{% block title %}{{ post.title }} - {{ site.domain }}{% endblock %}</title>
|
||||||
<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" />
|
||||||
<link rel="icon" href="https://petermolnar.net/favicon.ico" />
|
<link rel="icon" href="{{ site.url }}/favicon.ico" />
|
||||||
{% 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-dark.css' %}
|
{% include 'style.css' %}
|
||||||
</style>
|
</style>
|
||||||
<style id="css_alternative" media="none">
|
<style id="css_alt" media="none">
|
||||||
{% include 'style-light.css' %}
|
{% include 'style-alt.css' %}
|
||||||
</style>
|
</style>
|
||||||
<style media="print">
|
<style media="print">
|
||||||
{% include 'style-print.css' %}
|
{% include 'style-print.css' %}
|
||||||
|
@ -22,12 +22,12 @@
|
||||||
/* color scheme switcher */
|
/* color scheme switcher */
|
||||||
var current = localStorage.getItem("stylesheet");
|
var current = localStorage.getItem("stylesheet");
|
||||||
if (current) {
|
if (current) {
|
||||||
document.querySelector('#css_alternative').setAttribute("media", current);
|
document.querySelector('#css_alt').setAttribute("media", current);
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleStylesheet(trigger){
|
function toggleStylesheet(trigger){
|
||||||
var setto = 'all';
|
var setto = 'all';
|
||||||
var e = document.querySelector('#css_alternative');
|
var e = document.querySelector('#css_alt');
|
||||||
if (e.getAttribute("media") == 'all') {
|
if (e.getAttribute("media") == 'all') {
|
||||||
setto = 'none';
|
setto = 'none';
|
||||||
}
|
}
|
||||||
|
@ -35,13 +35,19 @@
|
||||||
e.setAttribute("media", setto);
|
e.setAttribute("media", setto);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{% if post.has_code %}
|
||||||
|
<style media="all">
|
||||||
|
{% include 'prism.css' %}
|
||||||
|
</style>
|
||||||
|
<script src="{{ site.url }}/prism.js"></script>
|
||||||
|
{% endif %}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
{% macro activemenu(name) %}{% if (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.category == name ) or ( category is defined and category.name == name ) %}active{% endif %}{% endmacro %}
|
||||||
|
|
||||||
<header class="content-header">
|
<header>
|
||||||
<nav class="content-navigation">
|
<nav>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a title="home" href="/" class="{{ activemenu('') }}">
|
<a title="home" href="/" class="{{ activemenu('') }}">
|
||||||
|
@ -76,11 +82,10 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<form role="search" method="get" class="search-form" action="/search.php">
|
<form role="search" method="get" action="/search.php">
|
||||||
<label for="s">Search</label>
|
<label for="s">Search</label>
|
||||||
<input type="search" class="search-field" placeholder="search..."
|
<input type="search" placeholder="search..." value="" name="q" id="q" title="Search for:" />
|
||||||
value="" name="q" id="q" title="Search for:" />
|
<input type="submit" value="Go ➡" />
|
||||||
<input type="submit" class="search-submit" value="Go ➡" />
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<p class="contrast">
|
<p class="contrast">
|
||||||
|
@ -94,7 +99,7 @@
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<section class="content-body">
|
<section>
|
||||||
<article class="h-entry hentry singular" lang="{{ post.lang }}">
|
<article class="h-entry hentry singular" lang="{{ post.lang }}">
|
||||||
<header>
|
<header>
|
||||||
<h1>
|
<h1>
|
||||||
|
@ -144,9 +149,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="e-content entry-content">
|
<div class="e-content entry-content">
|
||||||
<div class="content-inner">
|
{{ post.html_content }}
|
||||||
{{ post.html_content }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
|
@ -336,90 +339,92 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
<footer class="content-footer" id="main-footer">
|
<footer>
|
||||||
<nav class="footer-contact p-author h-card vcard limit">
|
<div class="limit">
|
||||||
<h2>Contact</h2>
|
<nav class="p-author h-card vcard">
|
||||||
<div class="twothird">
|
<h2>Contact</h2>
|
||||||
<dl>
|
<div>
|
||||||
<dt>
|
<dl>
|
||||||
<img class="photo avatar u-photo u-avatar"
|
<dt>
|
||||||
src="https://petermolnar.net/molnar_peter_avatar.jpg"
|
<img class="photo avatar u-photo u-avatar"
|
||||||
alt="Photo of Peter Molnar" />
|
src="https://petermolnar.net/molnar_peter_avatar.jpg"
|
||||||
</dt>
|
alt="Photo of Peter Molnar" />
|
||||||
<dd>
|
</dt>
|
||||||
<a class="fn p-name url u-url u-uid" href="/about.html">
|
<dd>
|
||||||
Peter Molnar
|
<a class="fn p-name url u-url u-uid" href="/about.html">
|
||||||
</a>
|
Peter Molnar
|
||||||
</dd>
|
</a>
|
||||||
<dt>email</dt>
|
</dd>
|
||||||
<dd>
|
<dt>email</dt>
|
||||||
<a rel="me" class="u-email email" href="mailto:{{ author.email }}">
|
<dd>
|
||||||
{{ author.email }}
|
<a rel="me" class="u-email email" href="mailto:{{ author.email }}">
|
||||||
</a>
|
{{ author.email }}
|
||||||
</dd>
|
</a>
|
||||||
{% if author.gpg %}
|
</dd>
|
||||||
<dt>GPG</dt>
|
{% if author.gpg %}
|
||||||
<dd>
|
<dt>GPG</dt>
|
||||||
<a rel="me" class="u-gpg gpg" href="/{{ author.gpg }}">key</a>
|
<dd>
|
||||||
</dd>
|
<a rel="me" class="u-gpg gpg" href="/{{ author.gpg }}">key</a>
|
||||||
{% endif %}
|
</dd>
|
||||||
<dt>url</dt>
|
{% endif %}
|
||||||
<dd>
|
<dt>url</dt>
|
||||||
<a rel="me" class="u-url url" href="{{ author.url }}">
|
<dd>
|
||||||
{{ author.url }}
|
<a rel="me" class="u-url url" href="{{ author.url }}">
|
||||||
</a>
|
{{ author.url }}
|
||||||
</dd>
|
</a>
|
||||||
</dl>
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<dl>
|
||||||
|
{% if author.xmpp %}
|
||||||
|
<dt>XMPP</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-xmpp xmpp" href="xmpp:{{ author.xmpp }}">{{ author.xmpp }}</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
{% if author.sip %}
|
||||||
|
<dt>SIP</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-sip sip" href="sip:{{ author.sip }}">
|
||||||
|
{{ author.sip }}
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
{% if author.icq %}
|
||||||
|
<dt>ICQ</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-icq icq" href="icq:{{ author.icq }}">
|
||||||
|
{{ author.icq }}
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
{% if author.flickr %}
|
||||||
|
<dt>flickr</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-flickr" href="https://flickr.com/people/{{ author.flickr }}">{{ author.flickr }}</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
{% if author.github %}
|
||||||
|
<dt>github</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-github" href="https://github.com/{{ author.github }}">{{ author.github }}</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
{% if author.twitter %}
|
||||||
|
<dt>twitter</dt>
|
||||||
|
<dd>
|
||||||
|
<a rel="me" class="u-twitter" href="https://twitter.com/{{ author.twitter }}">{{ author.twitter }}</a>
|
||||||
|
</dd>
|
||||||
|
{% endif %}
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="webring">
|
||||||
|
<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>
|
||||||
</div>
|
</div>
|
||||||
<div class="onethird">
|
|
||||||
<dl>
|
|
||||||
{% if author.xmpp %}
|
|
||||||
<dt>XMPP</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-xmpp xmpp" href="xmpp:{{ author.xmpp }}">{{ author.xmpp }}</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.sip %}
|
|
||||||
<dt>SIP</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-sip sip" href="sip:{{ author.sip }}">
|
|
||||||
{{ author.sip }}
|
|
||||||
</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.icq %}
|
|
||||||
<dt>ICQ</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-icq icq" href="icq:{{ author.icq }}">
|
|
||||||
{{ author.icq }}
|
|
||||||
</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.flickr %}
|
|
||||||
<dt>flickr</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-flickr" href="https://flickr.com/people/{{ author.flickr }}">{{ author.flickr }}</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.github %}
|
|
||||||
<dt>github</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-github" href="https://github.com/{{ author.github }}">{{ author.github }}</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.twitter %}
|
|
||||||
<dt>twitter</dt>
|
|
||||||
<dd>
|
|
||||||
<a rel="me" class="u-twitter" href="https://twitter.com/{{ author.twitter }}">{{ author.twitter }}</a>
|
|
||||||
</dd>
|
|
||||||
{% endif %}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<div class="webring">
|
|
||||||
<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>
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|
73
templates/prism.css
Normal file
73
templates/prism.css
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
.token.comment,
|
||||||
|
.token.block-comment,
|
||||||
|
.token.prolog,
|
||||||
|
.token.doctype,
|
||||||
|
.token.cdata {
|
||||||
|
color: darkgray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.punctuation {
|
||||||
|
color:darkcyan;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.tag,
|
||||||
|
.token.attr-name,
|
||||||
|
.token.namespace,
|
||||||
|
.token.deleted {
|
||||||
|
color: #e2777a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.function-name {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.boolean,
|
||||||
|
.token.number,
|
||||||
|
.token.function {
|
||||||
|
color: #f08d49;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.property,
|
||||||
|
.token.class-name,
|
||||||
|
.token.constant,
|
||||||
|
.token.symbol {
|
||||||
|
color: #f8c555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.selector,
|
||||||
|
.token.important,
|
||||||
|
.token.atrule,
|
||||||
|
.token.keyword,
|
||||||
|
.token.builtin {
|
||||||
|
color: darkorange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.string,
|
||||||
|
.token.char,
|
||||||
|
.token.attr-value,
|
||||||
|
.token.regex,
|
||||||
|
.token.variable {
|
||||||
|
color:darkred;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.operator,
|
||||||
|
.token.entity,
|
||||||
|
.token.url {
|
||||||
|
color: darkmagenta;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.important,
|
||||||
|
.token.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.token.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.entity {
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.inserted {
|
||||||
|
color: green;
|
||||||
|
}
|
26
templates/prism.js
Normal file
26
templates/prism.js
Normal file
File diff suppressed because one or more lines are too long
29
templates/style-alt.css
Normal file
29
templates/style-alt.css
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
body {
|
||||||
|
color: #222;
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #3173b4;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #014384;
|
||||||
|
}
|
||||||
|
|
||||||
|
code,
|
||||||
|
pre {
|
||||||
|
color: darkgreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contrast svg {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
td, th {
|
||||||
|
border: 1px solid #111;
|
||||||
|
}
|
|
@ -1,583 +0,0 @@
|
||||||
* {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
transition: all 0.2s;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
html,
|
|
||||||
.content-footer,
|
|
||||||
.content-header {
|
|
||||||
position: relative;
|
|
||||||
background-color: #111;
|
|
||||||
color: #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
html, body {
|
|
||||||
min-height: 100%;
|
|
||||||
font-family: "Liberation Sans", sans-serif;
|
|
||||||
color: #ccc;
|
|
||||||
background-color: #222;
|
|
||||||
font-size: 102%;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
border: none;
|
|
||||||
border-top: 1px solid #777;
|
|
||||||
margin: 1em 0;
|
|
||||||
clear:both;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #5193D4;
|
|
||||||
border-bottom: 1px solid transparent;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #71B3F4;
|
|
||||||
border-bottom: 1px solid #71B3F4;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul,
|
|
||||||
ol {
|
|
||||||
margin-left: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
dd {
|
|
||||||
margin-left: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
dt {
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
li {
|
|
||||||
margin: 0.3em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 1.2em 0;
|
|
||||||
line-height: 1.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
margin: 1em 0 0.6em 0;
|
|
||||||
padding: 0.3em 0;
|
|
||||||
line-height: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 1.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h5 {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
border-spacing: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
td,
|
|
||||||
th {
|
|
||||||
padding: 0.3em;
|
|
||||||
border: 1px solid #111;
|
|
||||||
text-align:left;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
tr:nth-child(odd) {
|
|
||||||
background-color: #333;
|
|
||||||
}
|
|
||||||
tr:nth-child(even) {
|
|
||||||
background-color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote {
|
|
||||||
margin: 0.6em;
|
|
||||||
padding-left: 0.6em;
|
|
||||||
border-left: 3px solid #999;
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
border: none;
|
|
||||||
border-bottom: 3px solid #999;
|
|
||||||
background-color: transparent;
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
input:focus,
|
|
||||||
input:hover {
|
|
||||||
border-bottom: 3px solid #fff;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
code,
|
|
||||||
pre,
|
|
||||||
q {
|
|
||||||
font-family: "Courier New", "Courier", monospace;
|
|
||||||
font-size: 0.94em;
|
|
||||||
}
|
|
||||||
|
|
||||||
code,
|
|
||||||
pre {
|
|
||||||
color: limegreen;
|
|
||||||
background-color: #222;
|
|
||||||
border: 1px solid #666;
|
|
||||||
direction: ltr;
|
|
||||||
text-align: left;
|
|
||||||
tab-size: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre code {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
overflow: auto;
|
|
||||||
padding: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
padding: 0.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.codehilite .hll { background-color: #222222 }
|
|
||||||
.codehilite { background: #000000; color: #cccccc }
|
|
||||||
.codehilite .c { color: #000080 }
|
|
||||||
.codehilite .err { color: #cccccc; border: 1px solid #FF0000 }
|
|
||||||
.codehilite .esc { color: #cccccc }
|
|
||||||
.codehilite .g { color: #cccccc }
|
|
||||||
.codehilite .k { color: #cdcd00 }
|
|
||||||
.codehilite .l { color: #cccccc }
|
|
||||||
.codehilite .n { color: #cccccc }
|
|
||||||
.codehilite .o { color: #3399cc }
|
|
||||||
.codehilite .x { color: #cccccc }
|
|
||||||
.codehilite .p { color: #cccccc }
|
|
||||||
.codehilite .ch { color: #000080 }
|
|
||||||
.codehilite .cm { color: #000080 }
|
|
||||||
.codehilite .cp { color: #000080 }
|
|
||||||
.codehilite .cpf { color: #000080 }
|
|
||||||
.codehilite .c1 { color: #000080 }
|
|
||||||
.codehilite .cs { color: #cd0000; font-weight: bold }
|
|
||||||
.codehilite .gd { color: #cd0000 }
|
|
||||||
.codehilite .ge { color: #cccccc; font-style: italic }
|
|
||||||
.codehilite .gr { color: #FF0000 }
|
|
||||||
.codehilite .gh { color: #000080; font-weight: bold }
|
|
||||||
.codehilite .gi { color: #00cd00 }
|
|
||||||
.codehilite .go { color: #888888 }
|
|
||||||
.codehilite .gp { color: #000080; font-weight: bold }
|
|
||||||
.codehilite .gs { color: #cccccc; font-weight: bold }
|
|
||||||
.codehilite .gu { color: #800080; font-weight: bold }
|
|
||||||
.codehilite .gt { color: #0044DD }
|
|
||||||
.codehilite .kc { color: #cdcd00 }
|
|
||||||
.codehilite .kd { color: #00cd00 }
|
|
||||||
.codehilite .kn { color: #cd00cd }
|
|
||||||
.codehilite .kp { color: #cdcd00 }
|
|
||||||
.codehilite .kr { color: #cdcd00 }
|
|
||||||
.codehilite .kt { color: #00cd00 }
|
|
||||||
.codehilite .ld { color: #cccccc }
|
|
||||||
.codehilite .m { color: #cd00cd }
|
|
||||||
.codehilite .s { color: #cd0000 }
|
|
||||||
.codehilite .na { color: #cccccc }
|
|
||||||
.codehilite .nb { color: #cd00cd }
|
|
||||||
.codehilite .nc { color: #00cdcd }
|
|
||||||
.codehilite .no { color: #cccccc }
|
|
||||||
.codehilite .nd { color: #cccccc }
|
|
||||||
.codehilite .ni { color: #cccccc }
|
|
||||||
.codehilite .ne { color: #666699; font-weight: bold }
|
|
||||||
.codehilite .nf { color: #cccccc }
|
|
||||||
.codehilite .nl { color: #cccccc }
|
|
||||||
.codehilite .nn { color: #cccccc }
|
|
||||||
.codehilite .nx { color: #cccccc }
|
|
||||||
.codehilite .py { color: #cccccc }
|
|
||||||
.codehilite .nt { color: #cccccc }
|
|
||||||
.codehilite .nv { color: #00cdcd }
|
|
||||||
.codehilite .ow { color: #cdcd00 }
|
|
||||||
.codehilite .w { color: #cccccc }
|
|
||||||
.codehilite .mb { color: #cd00cd }
|
|
||||||
.codehilite .mf { color: #cd00cd }
|
|
||||||
.codehilite .mh { color: #cd00cd }
|
|
||||||
.codehilite .mi { color: #cd00cd }
|
|
||||||
.codehilite .mo { color: #cd00cd }
|
|
||||||
.codehilite .sa { color: #cd0000 }
|
|
||||||
.codehilite .sb { color: #cd0000 }
|
|
||||||
.codehilite .sc { color: #cd0000 }
|
|
||||||
.codehilite .dl { color: #cd0000 }
|
|
||||||
.codehilite .sd { color: #cd0000 }
|
|
||||||
.codehilite .s2 { color: #cd0000 }
|
|
||||||
.codehilite .se { color: #cd0000 }
|
|
||||||
.codehilite .sh { color: #cd0000 }
|
|
||||||
.codehilite .si { color: #cd0000 }
|
|
||||||
.codehilite .sx { color: #cd0000 }
|
|
||||||
.codehilite .sr { color: #cd0000 }
|
|
||||||
.codehilite .s1 { color: #cd0000 }
|
|
||||||
.codehilite .ss { color: #cd0000 }
|
|
||||||
.codehilite .bp { color: #cd00cd }
|
|
||||||
.codehilite .fm { color: #cccccc }
|
|
||||||
.codehilite .vc { color: #00cdcd }
|
|
||||||
.codehilite .vg { color: #00cdcd }
|
|
||||||
.codehilite .vi { color: #00cdcd }
|
|
||||||
.codehilite .vm { color: #00cdcd }
|
|
||||||
.codehilite .il { color: #cd00cd }
|
|
||||||
|
|
||||||
.limit,
|
|
||||||
.content-body {
|
|
||||||
max-width: 86ch;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
display: inline-block;
|
|
||||||
fill: currentColor;
|
|
||||||
overflow: visible;
|
|
||||||
vertical-align:text-top;
|
|
||||||
margin: 0 0.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-header {
|
|
||||||
font-size: 1.1em;
|
|
||||||
text-align:center;
|
|
||||||
padding: 0 0 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul li {
|
|
||||||
display: inline-block;
|
|
||||||
padding-right: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-header a {
|
|
||||||
font-weight: bold;
|
|
||||||
border-bottom: 3px solid transparent !important;;
|
|
||||||
color: #ccc !important;;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-header a:hover {
|
|
||||||
border-bottom: 3px solid #fefefe !important;;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul li a.active {
|
|
||||||
border-bottom: 3px solid #ccc !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul li a svg {
|
|
||||||
display:block;
|
|
||||||
margin: 0.1em auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-form label {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-form {
|
|
||||||
margin: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-form .search-field {
|
|
||||||
width: 10em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contrast {
|
|
||||||
position: absolute;
|
|
||||||
top:0.6em;
|
|
||||||
right: 0.6em;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contrast.active {
|
|
||||||
transform: rotate(180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (min-width: 56em) {
|
|
||||||
.content-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 0.6em 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul li a {
|
|
||||||
padding-bottom: 0.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-navigation ul li a svg {
|
|
||||||
display:inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-form {
|
|
||||||
margin: 0.3em 2em 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contrast {
|
|
||||||
top:1em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
figure {
|
|
||||||
position:relative;
|
|
||||||
overflow: hidden;
|
|
||||||
margin: 2em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure figcaption {
|
|
||||||
padding: 0.3em 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.adaptimg {
|
|
||||||
display: block;
|
|
||||||
max-height: 98vh;
|
|
||||||
max-width: 100%;
|
|
||||||
width:auto;
|
|
||||||
height:auto;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0;
|
|
||||||
border: 1px solid #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-feed figcaption {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exif {
|
|
||||||
font-size: 0.8em;
|
|
||||||
margin: 0.3em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exif dt {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exif dd {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 0.6em 0 0;
|
|
||||||
padding: 0.3em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.exif .icon {
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote-ref {
|
|
||||||
border: 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
margin-left: 0.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote-ref::before {
|
|
||||||
content: '[';
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote-ref::after {
|
|
||||||
content: ']';
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote ol li p {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote ol li a {
|
|
||||||
display: inline-block;
|
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
vertical-align: top;
|
|
||||||
max-width: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote ol li a[href^="#"] {
|
|
||||||
margin-left: 0.6em;
|
|
||||||
max-width: 20%;
|
|
||||||
font-size: 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote ol li a[href^="#"]:after {
|
|
||||||
content: "back to text";
|
|
||||||
margin-left: 0.2em;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footnote ol li a[href^="#"]:hover:after {
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.twothird {
|
|
||||||
display: inline-block;
|
|
||||||
width: 65%;
|
|
||||||
vertical-align:text-top;
|
|
||||||
}
|
|
||||||
|
|
||||||
.onethird {
|
|
||||||
display: inline-block;
|
|
||||||
width: 33%;
|
|
||||||
vertical-align:text-top;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.content-footer {
|
|
||||||
margin-top: 2em;
|
|
||||||
padding: 1em 0;
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer h2 {
|
|
||||||
display: none;
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer a {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer a:hover {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer dl {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer dt {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer dd {
|
|
||||||
display: block;
|
|
||||||
margin: -2.3em 0 0 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-footer img {
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
body svg,
|
|
||||||
body script {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.p-author img {
|
|
||||||
height: 1em;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.reactions dt {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.reactions ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-feed h2,
|
|
||||||
.h-entry.singular .e-content h2 {
|
|
||||||
border-bottom: 2px solid #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-feed h3,
|
|
||||||
.h-entry.singular .e-content h3 {
|
|
||||||
border-bottom: 1px dotted #777;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-feed > h1 {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-feed h3 {
|
|
||||||
font-size: 1.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-entry.singular h1 a {
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination {
|
|
||||||
margin: 2em 0 0 0;
|
|
||||||
font-size: 1.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination ul {
|
|
||||||
list-style-type: none;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination li {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0.3em 0.6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination .current {
|
|
||||||
color: #999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.follow {
|
|
||||||
display: block;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.donation ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.donation li {
|
|
||||||
padding: 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.donation li a {
|
|
||||||
color: #999;
|
|
||||||
border-bottom: 3px solid #933 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.donation li a:hover {
|
|
||||||
color: #fff;
|
|
||||||
border-bottom: 3px solid #c66 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.webring {
|
|
||||||
padding: 2em 0 0 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
|
@ -1,115 +0,0 @@
|
||||||
html, body {
|
|
||||||
color: #222;
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #3173b4;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #115394;
|
|
||||||
border-bottom: 1px solid #115394;
|
|
||||||
}
|
|
||||||
|
|
||||||
code,
|
|
||||||
pre {
|
|
||||||
color: darkgreen;
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.codehilite .hll { background-color: #ffffcc }
|
|
||||||
.codehilite { background: #f8f8f8; }
|
|
||||||
.codehilite .c { color: #8f5902; font-style: italic } /* Comment */
|
|
||||||
.codehilite .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
|
|
||||||
.codehilite .g { color: #000000 } /* Generic */
|
|
||||||
.codehilite .k { color: #204a87; font-weight: bold } /* Keyword */
|
|
||||||
.codehilite .l { color: #000000 } /* Literal */
|
|
||||||
.codehilite .n { color: #000000 } /* Name */
|
|
||||||
.codehilite .o { color: #ce5c00; font-weight: bold } /* Operator */
|
|
||||||
.codehilite .x { color: #000000 } /* Other */
|
|
||||||
.codehilite .p { color: #000000; font-weight: bold } /* Punctuation */
|
|
||||||
.codehilite .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
|
|
||||||
.codehilite .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
|
|
||||||
.codehilite .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
|
|
||||||
.codehilite .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
|
|
||||||
.codehilite .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
|
|
||||||
.codehilite .cs { color: #8f5902; font-style: italic } /* Comment.Special */
|
|
||||||
.codehilite .gd { color: #a40000 } /* Generic.Deleted */
|
|
||||||
.codehilite .ge { color: #000000; font-style: italic } /* Generic.Emph */
|
|
||||||
.codehilite .gr { color: #ef2929 } /* Generic.Error */
|
|
||||||
.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
||||||
.codehilite .gi { color: #00A000 } /* Generic.Inserted */
|
|
||||||
.codehilite .go { color: #000000; font-style: italic } /* Generic.Output */
|
|
||||||
.codehilite .gp { color: #8f5902 } /* Generic.Prompt */
|
|
||||||
.codehilite .gs { color: #000000; font-weight: bold } /* Generic.Strong */
|
|
||||||
.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
|
||||||
.codehilite .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
|
|
||||||
.codehilite .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
|
|
||||||
.codehilite .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
|
|
||||||
.codehilite .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
|
|
||||||
.codehilite .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
|
|
||||||
.codehilite .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
|
|
||||||
.codehilite .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
|
|
||||||
.codehilite .ld { color: #000000 } /* Literal.Date */
|
|
||||||
.codehilite .m { color: #0000cf; font-weight: bold } /* Literal.Number */
|
|
||||||
.codehilite .s { color: #4e9a06 } /* Literal.String */
|
|
||||||
.codehilite .na { color: #c4a000 } /* Name.Attribute */
|
|
||||||
.codehilite .nb { color: #204a87 } /* Name.Builtin */
|
|
||||||
.codehilite .nc { color: #000000 } /* Name.Class */
|
|
||||||
.codehilite .no { color: #000000 } /* Name.Constant */
|
|
||||||
.codehilite .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
|
|
||||||
.codehilite .ni { color: #ce5c00 } /* Name.Entity */
|
|
||||||
.codehilite .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
|
|
||||||
.codehilite .nf { color: #000000 } /* Name.Function */
|
|
||||||
.codehilite .nl { color: #f57900 } /* Name.Label */
|
|
||||||
.codehilite .nn { color: #000000 } /* Name.Namespace */
|
|
||||||
.codehilite .nx { color: #000000 } /* Name.Other */
|
|
||||||
.codehilite .py { color: #000000 } /* Name.Property */
|
|
||||||
.codehilite .nt { color: #204a87; font-weight: bold } /* Name.Tag */
|
|
||||||
.codehilite .nv { color: #000000 } /* Name.Variable */
|
|
||||||
.codehilite .ow { color: #204a87; font-weight: bold } /* Operator.Word */
|
|
||||||
.codehilite .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
|
|
||||||
.codehilite .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */
|
|
||||||
.codehilite .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
|
|
||||||
.codehilite .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
|
|
||||||
.codehilite .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
|
|
||||||
.codehilite .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
|
|
||||||
.codehilite .sa { color: #4e9a06 } /* Literal.String.Affix */
|
|
||||||
.codehilite .sb { color: #4e9a06 } /* Literal.String.Backtick */
|
|
||||||
.codehilite .sc { color: #4e9a06 } /* Literal.String.Char */
|
|
||||||
.codehilite .dl { color: #4e9a06 } /* Literal.String.Delimiter */
|
|
||||||
.codehilite .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
|
|
||||||
.codehilite .s2 { color: #4e9a06 } /* Literal.String.Double */
|
|
||||||
.codehilite .se { color: #4e9a06 } /* Literal.String.Escape */
|
|
||||||
.codehilite .sh { color: #4e9a06 } /* Literal.String.Heredoc */
|
|
||||||
.codehilite .si { color: #4e9a06 } /* Literal.String.Interpol */
|
|
||||||
.codehilite .sx { color: #4e9a06 } /* Literal.String.Other */
|
|
||||||
.codehilite .sr { color: #4e9a06 } /* Literal.String.Regex */
|
|
||||||
.codehilite .s1 { color: #4e9a06 } /* Literal.String.Single */
|
|
||||||
.codehilite .ss { color: #4e9a06 } /* Literal.String.Symbol */
|
|
||||||
.codehilite .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
|
|
||||||
.codehilite .fm { color: #000000 } /* Name.Function.Magic */
|
|
||||||
.codehilite .vc { color: #000000 } /* Name.Variable.Class */
|
|
||||||
.codehilite .vg { color: #000000 } /* Name.Variable.Global */
|
|
||||||
.codehilite .vi { color: #000000 } /* Name.Variable.Instance */
|
|
||||||
.codehilite .vm { color: #000000 } /* Name.Variable.Magic */
|
|
||||||
.codehilite .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
|
|
||||||
|
|
||||||
.donation li a {
|
|
||||||
color: #333;
|
|
||||||
border-bottom: 3px solid #933 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.donation li a:hover {
|
|
||||||
color: #600;
|
|
||||||
border-bottom: 3px solid #600 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-entry.singular h1 a {
|
|
||||||
color: #111;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contrast svg {
|
|
||||||
transform: rotate(180deg);
|
|
||||||
}
|
|
|
@ -1,26 +1,25 @@
|
||||||
* {
|
* {
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
color: #222;
|
color: #222;
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body {
|
html, body {
|
||||||
font-size: 11pt !important;
|
font-size: 11pt !important;
|
||||||
text-shadow: unset !important;
|
font-family: Helvetica, sans-serif !important;
|
||||||
font-family: Helvetica, sans-serif !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@page {
|
@page {
|
||||||
margin: 0.6in 0.5in;
|
margin: 0.6in 0.5in;
|
||||||
}
|
}
|
||||||
|
|
||||||
.limit,
|
.limit,
|
||||||
.content-body {
|
body > section {
|
||||||
max-width: 100% !important;
|
max-width: 100% !important;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
page-break-after: avoid;
|
page-break-after: avoid;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3,
|
h3,
|
||||||
|
@ -29,145 +28,55 @@ a,
|
||||||
.h-feed .h-entry,
|
.h-feed .h-entry,
|
||||||
code,
|
code,
|
||||||
pre {
|
pre {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
p, li, blockquote, figure, .footnotes {
|
p, li, blockquote, figure, .footnotes {
|
||||||
page-break-inside: avoid !important;
|
page-break-inside: avoid !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
td, th {
|
td, th {
|
||||||
border: 1pt solid #666;
|
border: 1pt solid #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-note,
|
.footnote ol li a {
|
||||||
.content-header,
|
display: block;
|
||||||
.content-footer,
|
overflow: visible;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header,
|
||||||
|
body > footer,
|
||||||
video,
|
video,
|
||||||
audio,
|
audio,
|
||||||
.footnotes ol li a[href^="#"],
|
.footnote-backref,
|
||||||
.footnotes ol li a[href^="#"]:after,
|
|
||||||
.exif svg,
|
|
||||||
.donation,
|
.donation,
|
||||||
.noprint {
|
.noprint {
|
||||||
display:none;
|
display:none !important;
|
||||||
}
|
|
||||||
|
|
||||||
.footnotes ol li a {
|
|
||||||
display: block;
|
|
||||||
overflow: visible;
|
|
||||||
white-space: normal;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
code, pre {
|
code, pre {
|
||||||
max-width: 96%;
|
max-width: 96%;
|
||||||
color: #222;
|
|
||||||
word-break: break-all;
|
|
||||||
word-wrap: break-word;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
overflow:initial;
|
|
||||||
page-break-inside: enabled;
|
page-break-inside: enabled;
|
||||||
font-family: "Courier", "Courier New", monospace !important;
|
font-family: "Courier", "Courier New", monospace !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
border: 1pt dotted #666;
|
border: 1pt dotted #666;
|
||||||
padding: 0.6em;
|
padding: 0.6em;
|
||||||
}
|
|
||||||
|
|
||||||
.codehilite .hll { background-color: #ffffcc }
|
|
||||||
.codehilite { background: #f8f8f8; }
|
|
||||||
.codehilite .c { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .err { color: #a40000; border: 1px solid #ef2929 }
|
|
||||||
.codehilite .g { color: #000000 }
|
|
||||||
.codehilite .k { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .l { color: #000000 }
|
|
||||||
.codehilite .n { color: #000000 }
|
|
||||||
.codehilite .o { color: #ce5c00; font-weight: bold }
|
|
||||||
.codehilite .x { color: #000000 }
|
|
||||||
.codehilite .p { color: #000000; font-weight: bold }
|
|
||||||
.codehilite .ch { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .cm { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .cp { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .cpf { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .c1 { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .cs { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .gd { color: #a40000 }
|
|
||||||
.codehilite .ge { color: #000000; font-style: italic }
|
|
||||||
.codehilite .gr { color: #ef2929 }
|
|
||||||
.codehilite .gh { color: #000080; font-weight: bold }
|
|
||||||
.codehilite .gi { color: #00A000 }
|
|
||||||
.codehilite .go { color: #000000; font-style: italic }
|
|
||||||
.codehilite .gp { color: #8f5902 }
|
|
||||||
.codehilite .gs { color: #000000; font-weight: bold }
|
|
||||||
.codehilite .gu { color: #800080; font-weight: bold }
|
|
||||||
.codehilite .gt { color: #a40000; font-weight: bold }
|
|
||||||
.codehilite .kc { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .kd { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .kn { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .kp { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .kr { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .kt { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .ld { color: #000000 }
|
|
||||||
.codehilite .m { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .s { color: #4e9a06 }
|
|
||||||
.codehilite .na { color: #c4a000 }
|
|
||||||
.codehilite .nb { color: #204a87 }
|
|
||||||
.codehilite .nc { color: #000000 }
|
|
||||||
.codehilite .no { color: #000000 }
|
|
||||||
.codehilite .nd { color: #5c35cc; font-weight: bold }
|
|
||||||
.codehilite .ni { color: #ce5c00 }
|
|
||||||
.codehilite .ne { color: #cc0000; font-weight: bold }
|
|
||||||
.codehilite .nf { color: #000000 }
|
|
||||||
.codehilite .nl { color: #f57900 }
|
|
||||||
.codehilite .nn { color: #000000 }
|
|
||||||
.codehilite .nx { color: #000000 }
|
|
||||||
.codehilite .py { color: #000000 }
|
|
||||||
.codehilite .nt { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .nv { color: #000000 }
|
|
||||||
.codehilite .ow { color: #204a87; font-weight: bold }
|
|
||||||
.codehilite .w { color: #f8f8f8; text-decoration: underline }
|
|
||||||
.codehilite .mb { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .mf { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .mh { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .mi { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .mo { color: #0000cf; font-weight: bold }
|
|
||||||
.codehilite .sa { color: #4e9a06 }
|
|
||||||
.codehilite .sb { color: #4e9a06 }
|
|
||||||
.codehilite .sc { color: #4e9a06 }
|
|
||||||
.codehilite .dl { color: #4e9a06 }
|
|
||||||
.codehilite .sd { color: #8f5902; font-style: italic }
|
|
||||||
.codehilite .s2 { color: #4e9a06 }
|
|
||||||
.codehilite .se { color: #4e9a06 }
|
|
||||||
.codehilite .sh { color: #4e9a06 }
|
|
||||||
.codehilite .si { color: #4e9a06 }
|
|
||||||
.codehilite .sx { color: #4e9a06 }
|
|
||||||
.codehilite .sr { color: #4e9a06 }
|
|
||||||
.codehilite .s1 { color: #4e9a06 }
|
|
||||||
.codehilite .ss { color: #4e9a06 }
|
|
||||||
.codehilite .bp { color: #3465a4 }
|
|
||||||
.codehilite .fm { color: #000000 }
|
|
||||||
.codehilite .vc { color: #000000 }
|
|
||||||
.codehilite .vg { color: #000000 }
|
|
||||||
.codehilite .vi { color: #000000 }
|
|
||||||
.codehilite .vm { color: #000000 }
|
|
||||||
.codehilite .il { color: #0000cf; font-weight: bold }
|
|
||||||
|
|
||||||
figcaption {
|
|
||||||
font-size: 0.9em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.adaptimg {
|
.adaptimg {
|
||||||
max-height: 35vh;
|
max-height: 35vh;
|
||||||
max-width: 90vw;
|
max-width: 90vw;
|
||||||
outline: none;
|
outline: none;
|
||||||
border: 1px solid #000;
|
border: 1px solid #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.h-feed .h-entry {
|
.h-feed .h-entry {
|
||||||
page-break-after:always;
|
page-break-after:always;
|
||||||
}
|
}
|
||||||
|
|
337
templates/style.css
Normal file
337
templates/style.css
Normal file
|
@ -0,0 +1,337 @@
|
||||||
|
* {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: all 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
background-color: #111;
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: "Liberation Sans", sans-serif;
|
||||||
|
color: #ccc;
|
||||||
|
background-color: #222;
|
||||||
|
font-size: 110%;
|
||||||
|
line-height: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
fill: currentColor;
|
||||||
|
vertical-align: text-top;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #5193D4;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 1.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, h3 {
|
||||||
|
margin-top: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px solid #777;
|
||||||
|
margin: 1em 0;
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
border-left: 3px solid #999;
|
||||||
|
margin: 2em 0 2em 1em;
|
||||||
|
padding: 0 0 0 1em;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 1em 0 0.6em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd img {
|
||||||
|
width: 1em;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure > a {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption {
|
||||||
|
padding: 0.3em 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure img {
|
||||||
|
display: block;
|
||||||
|
max-height: 98vh;
|
||||||
|
max-width: 100%;
|
||||||
|
width:auto;
|
||||||
|
height:auto;
|
||||||
|
margin: 0 auto;
|
||||||
|
border: 1px solid #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption dt {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption dd {
|
||||||
|
font-size: 0.8em;
|
||||||
|
display: inline-block;
|
||||||
|
margin:0.3em 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding-left: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
padding: 0.1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: none;
|
||||||
|
border-bottom: 3px solid #ccc;
|
||||||
|
color: #ccc;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav li {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 0.6em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, pre, q, figcaption {
|
||||||
|
font-family: "Courier New", "Courier", monospace;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, pre {
|
||||||
|
color: limegreen;
|
||||||
|
border: 1px solid #666;
|
||||||
|
direction: ltr;
|
||||||
|
word-break: break-all;
|
||||||
|
word-wrap: break-word;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
overflow:initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding: 0.1em 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre > code {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
td,
|
||||||
|
th {
|
||||||
|
padding: 0.3em;
|
||||||
|
border: 1px solid #777;
|
||||||
|
text-align:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: rgba(0, 0, 0, .1);
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(odd) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:nth-child(even) {
|
||||||
|
background-color: rgba(0, 0, 0, .1);
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header,
|
||||||
|
body > footer {
|
||||||
|
text-align: center;
|
||||||
|
padding: 0.6em 0.3em;
|
||||||
|
background-color: #111;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header form {
|
||||||
|
padding: 0.2em 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header {
|
||||||
|
padding-right: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > svg,
|
||||||
|
body > script {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header nav {
|
||||||
|
margin: 0.3em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header nav li a {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #ccc;
|
||||||
|
border-bottom: 3px solid transparent;
|
||||||
|
text-decoration: none;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header a:hover,
|
||||||
|
body > header a.active,
|
||||||
|
input:active,
|
||||||
|
input:hover {
|
||||||
|
border-bottom: 3px solid #fefefe;
|
||||||
|
color: #fefefe;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header a svg {
|
||||||
|
display: block;
|
||||||
|
margin: 0.1em auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.limit,
|
||||||
|
body > section {
|
||||||
|
max-width: 86ch;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > nav {
|
||||||
|
margin: 2em 0 1em 0;
|
||||||
|
font-size: 1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > nav ul {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > nav li {
|
||||||
|
margin: 0.3em 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > nav .current {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer {
|
||||||
|
text-align: left;
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer img {
|
||||||
|
width: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer h2 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer dt {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 1em 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer dd {
|
||||||
|
margin: -1.3em 0 0 4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > footer nav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.webring {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote a {
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
vertical-align: top;
|
||||||
|
max-width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote-ref {
|
||||||
|
margin: 0 0 0 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contrast,
|
||||||
|
.follow {
|
||||||
|
position: fixed;
|
||||||
|
right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contrast {
|
||||||
|
top: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.follow {
|
||||||
|
top: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.h-feed h1 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (min-width: 56em) {
|
||||||
|
body > header {
|
||||||
|
text-align: unset;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header li svg {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header form {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue