Upgrade theme with better print support

This commit is contained in:
Kujiu 2020-07-04 14:07:08 +02:00
parent a90025fcb3
commit 3f5f360fcc
Signed by: kujiu
GPG key ID: ABBB2CAC6855599F
30 changed files with 476 additions and 705 deletions

View file

@ -2,6 +2,12 @@
Changes Changes
======= =======
2.0.0 (*2020-07-04*)
====================
- Print media for sphinx_pyppeteer_builder
- Remove weasyprint support
1.2.0 (*2020-06-??*) 1.2.0 (*2020-06-??*)
==================== ====================

179
code.less
View file

@ -1,179 +0,0 @@
pre {
white-space: pre-wrap;
overflow-wrap: break-word;
}
.content {
td.linenos, td.code {
border: none;
padding: 0;
margin: 0;
> .highlight pre {
border: none;
}
}
code {
color: @CdTClr;
padding: 0.25rem 0.1rem;
margin: 0;
font-size: 0.85em;
background-color: @CdBgClr;
border-bottom: @CdBClr solid 0.2em;
a, a:visited {
color: @CdLClr;
&:hover {
color: @CdLHClr;
}
}
}
td.linenos pre, pre span.lineno {
border-right: solid 0.3em @CdLnBClr;
background-color: @CdLnBgClr;
color: @CdLnTClr;
white-space: pre;
overflow-wrap: normal;
margin: 0;
}
pre span.lineno {
float: left;
margin: 0 0.5rem 0 -0.5rem;
padding-left: 0.5rem;
}
pre, pre[class*="language-"] {
line-height: 1.4;
padding: 1.25rem 1.5rem 1.25rem 0.5rem;
margin: 0.85rem 0;
background-color: @PrBgClr;
color: @PrTClr;
border-left: @PrBClr solid 0.5em;
code {
color: @PrTClr;
padding: 0;
background-color: transparent;
}
a, a:visited {
color: @PrLClr;
&:hover {
color: @PrLHClr;
}
}
}
}
div[class*="language-"] {
position: relative;
background-color: @CdBgClr;
.highlight-lines {
padding-top: 1.3rem;
width: 100%;
line-height: 1.4;
.highlighted {
background-color: @CdBgAClr;
color: @CdAClr;
}
}
pre, pre[class*="language-"] {
background: transparent;
position: relative;
z-index: 1;
}
&::before {
z-index: 3;
font-size: 0.75rem;
color: @CdT2Clr;
}
&:not(.line-numbers-mode) {
.line-numbers-wrapper {
display: none;
}
}
&.line-numbers-mode {
.highlight-lines {
.highlighted {
position: relative;
&:before {
content: ' ';
z-index: 3;
display: block;
width: @lineNumbersWrapperWidth;
height: 100%;
background-color: @CdBgAClr;
color: @CdBgClr;
}
}
}
pre {
padding-left: @lineNumbersWrapperWidth;
vertical-align: middle;
}
.line-numbers-wrapper {
width: @lineNumbersWrapperWidth;
text-align: center;
color: @PrLNClr;
padding: 1.25rem 0;
line-height: 1.4;
.line-number {
position: relative;
z-index: 4;
font-size: 0.85em;
}
}
&::after {
content: '';
z-index: 2;
width: @lineNumbersWrapperWidth;
height: 100%;
border-left: 0.5rem solid @PrB2Clr;
background-color: @PrBgClr;
}
}
}
//for lang in js ts html md vue css sass scss less stylus go java c sh yaml rst rust zsh gdscript esc
// div{'[class~="language-' + lang + '"]'}
// &:before
// content ('' + lang)
div[class~="language-javascript"] {
&:before {
content: "js";
}
}
div[class~="language-typescript"] {
&:before {
content: "ts";
}
}
div[class~="language-markup"] {
&:before {
content: "html";
}
}
div[class~="language-markdown"] {
&:before {
content: "md";
}
}
div[class~="language-json"]:before {
content: "json";
}
div[class~="language-ruby"]:before {
content: "rb";
}
div[class~="language-python"]:before {
content: "py";
}
div[class~="language-bash"]:before {
content: "sh";
}

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{ {
"name": "sphinx_nervproject_theme", "name": "sphinx_nervproject_theme",
"version": "1.0.0", "version": "2.0.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View file

@ -1,6 +1,6 @@
{ {
"name": "sphinx_nervproject_theme", "name": "sphinx_nervproject_theme",
"version": "1.2.0", "version": "2.0.0",
"description": "Sphinx Nerv Project Theme", "description": "Sphinx Nerv Project Theme",
"main": "index.js", "main": "index.js",
"directories": { "directories": {
@ -8,9 +8,8 @@
}, },
"scripts": { "scripts": {
"build:theme": "lessc --clean-css='--advanced' ui/theme.less sphinx_nervproject_theme/static/sphinx_nervproject_theme.css", "build:theme": "lessc --clean-css='--advanced' ui/theme.less sphinx_nervproject_theme/static/sphinx_nervproject_theme.css",
"build:weasyprint": "lessc --clean-css='--advanced' ui/theme-weasyprint.less sphinx_nervproject_theme/static/sphinx_nervproject_weasyprint.css",
"build:epub": "lessc --clean-css='--advanced' ui/theme-epub.less sphinx_nervproject_theme/static/sphinx_nervproject_epub.css", "build:epub": "lessc --clean-css='--advanced' ui/theme-epub.less sphinx_nervproject_theme/static/sphinx_nervproject_epub.css",
"build": "npm run build:theme && npm run build:weasyprint && npm run build:epub" "build": "npm run build:theme && npm run build:epub"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -28,7 +28,7 @@ with open("README.rst", "r") as fh:
setup( setup(
name="sphinx_nervproject_theme", name="sphinx_nervproject_theme",
version="1.2.0", version="2.0.0",
url="https://procrastinator.nerv-project.eu/nerv-project/communication/sphinx_nervproject_theme", url="https://procrastinator.nerv-project.eu/nerv-project/communication/sphinx_nervproject_theme",
license="EUPL 1.2", license="EUPL 1.2",
author="Kujiu", author="Kujiu",

View file

@ -6,10 +6,7 @@ from sphinx.environment.collectors import EnvironmentCollector
from sphinx import addnodes from sphinx import addnodes
from sphinx.util.osutil import relative_uri from sphinx.util.osutil import relative_uri
__version__ = (1, 2, 0) __version__ = (2, 0, 0)
sys.setrecursionlimit(15000)
class SimpleTocTreeCollector(EnvironmentCollector): class SimpleTocTreeCollector(EnvironmentCollector):
@ -159,15 +156,10 @@ def add_toctree_data(app, pagename, templatename, context, doctree):
def on_config_inited(app, conf): def on_config_inited(app, conf):
exclude_files = list(app.config.get('epub_exclude_files', [])) exclude_files = list(app.config.get('epub_exclude_files', []))
exclude_files.append('_static/sphinx_nervproject_theme.js') exclude_files.append('_static/sphinx_nervproject_theme.js')
exclude_files.append('_static/sphinx_nervproject_simple.css')
exclude_files.append('_static/sphinx_nervproject_theme.css') exclude_files.append('_static/sphinx_nervproject_theme.css')
exclude_files.append('_static/basic.css') exclude_files.append('_static/basic.css')
app.config.exclude_files = exclude_files app.config.exclude_files = exclude_files
app.config.weasyprint_footer_selector = 'footer.footer'
app.config.weasyprint_header_selector = 'header.navbar'
def setup(app): def setup(app):
app.add_env_collector(SimpleTocTreeCollector) app.add_env_collector(SimpleTocTreeCollector)
app.connect('html-page-context', add_toctree_data) app.connect('html-page-context', add_toctree_data)

View file

@ -10,9 +10,7 @@
{# <meta name="description" content="{{ description }}"/> #} {# <meta name="description" content="{{ description }}"/> #}
{%- block css %} {%- block css %}
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1)}}"/> <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1)}}"/>
{% if builder=='weasyprint' %} {% if builder=='epub' %}
<link rel="stylesheet" href="{{ pathto('_static/sphinx_nervproject_weasyprint.css', 1)}}"/>
{% elif builder=='epub' %}
<link rel="stylesheet" href="{{ pathto('_static/sphinx_nervproject_epub.css', 1)}}"/> <link rel="stylesheet" href="{{ pathto('_static/sphinx_nervproject_epub.css', 1)}}"/>
{% else %} {% else %}
<link rel="stylesheet" href="{{ pathto('_static/sphinx_nervproject_theme.css', 1)}}"/> <link rel="stylesheet" href="{{ pathto('_static/sphinx_nervproject_theme.css', 1)}}"/>
@ -79,6 +77,14 @@
{%- block container %} {%- block container %}
{%- block header %}{%- include "util/navbar.html" %}{% endblock %} {%- block header %}{%- include "util/navbar.html" %}{% endblock %}
{# This table is necessary for print layout #}
<table role="none" id="main_layout_table">
<thead>
<tr><th><div id="layout_header">
&nbsp;
</div></th></tr>
</thead>
<tbody><tr><td>
<div id="appflex"> <div id="appflex">
{%- block sidebar %} {%- block sidebar %}
{% if builder=='html' %} {% if builder=='html' %}
@ -108,14 +114,21 @@
{% block body %} {% endblock %} {% block body %} {% endblock %}
</main> </main>
{%- endblock %} {%- endblock %}
{%- include "util/pagenav.html" %}
</div> </div>
</div> </div>
</td></tr></tbody>
<tfoot>
<tr><th><div id="layout_footer">
&nbsp;
</div></th></tr>
</tfoot>
</table>
{%- block footer %} {%- block footer %}
{%- include "util/pagenav.html" %}
{%- include "util/footer.html" %} {%- include "util/footer.html" %}
{%- endblock footer %} {%- endblock footer %}
{%- endblock container %} {%- endblock container %}
</div> </div>
{% block footer_scripts %} {% block footer_scripts %}

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: sphinx_nervproject_theme 1.0\n" "Project-Id-Version: sphinx_nervproject_theme 1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-05-22 18:58+0200\n" "POT-Creation-Date: 2020-07-04 18:23+0200\n"
"PO-Revision-Date: 2020-05-22 18:58+0200\n" "PO-Revision-Date: 2020-05-22 18:58+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@ -59,6 +59,10 @@ msgstr ""
msgid "Locations" msgid "Locations"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/page.html:34
msgid "Comments"
msgstr ""
#: sphinx_nervproject_theme/postcard.html:7 #: sphinx_nervproject_theme/postcard.html:7
msgid "About this page" msgid "About this page"
msgstr "" msgstr ""
@ -83,7 +87,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/postcard2.html:50 #: sphinx_nervproject_theme/postcard2.html:51
msgid "Language" msgid "Language"
msgstr "" msgstr ""
@ -191,17 +195,17 @@ msgstr ""
msgid "Docs" msgid "Docs"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:4 #: sphinx_nervproject_theme/util/footer.html:5
#, python-format #, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s." msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:6 #: sphinx_nervproject_theme/util/footer.html:7
#, python-format #, python-format
msgid "&#169; Copyright %(copyright)s." msgid "&#169; Copyright %(copyright)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:12 #: sphinx_nervproject_theme/util/footer.html:13
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -209,14 +213,14 @@ msgid ""
" <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" " " <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" "
"role=\"img\">\n" "role=\"img\">\n"
" <title id=\"cc_by_footer\">CC</title>\n" " <title id=\"cc_by_footer\">CC</title>\n"
" <use xlink:href=\"%(pathto)s#creative-comons\">\n" " <use xlink:href=\"%(pathtocc)s#creative-commons\">\n"
" </use>\n" " </use>\n"
" </svg> %(license_subtype)s\n" " </svg> %(license_subtype)s\n"
" %(license_version)s.\n" " %(license_version)s.\n"
" " " "
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:29 #: sphinx_nervproject_theme/util/footer.html:31
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -224,12 +228,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:38 #: sphinx_nervproject_theme/util/footer.html:43
#, python-format #, python-format
msgid "Last updated on %(last_updated)s." msgid "Last updated on %(last_updated)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:41 #: sphinx_nervproject_theme/util/footer.html:46
#, python-format #, python-format
msgid "" msgid ""
"Created using <a\n" "Created using <a\n"
@ -242,10 +246,6 @@ msgid ""
" and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>." " and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/isso.html:19
msgid "Comments"
msgstr ""
#: sphinx_nervproject_theme/util/linktags.html:2 #: sphinx_nervproject_theme/util/linktags.html:2
msgid "About these documents" msgid "About these documents"
msgstr "" msgstr ""
@ -254,6 +254,10 @@ msgstr ""
msgid "Copyright" msgid "Copyright"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/navbar.html:11
msgid "Toggle sidebar"
msgstr ""
#: sphinx_nervproject_theme/util/pagenav.html:5 #: sphinx_nervproject_theme/util/pagenav.html:5
msgid "previous chapter" msgid "previous chapter"
msgstr "" msgstr ""

View file

@ -8,17 +8,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: sphinx_nervproject_theme 1.0\n" "Project-Id-Version: sphinx_nervproject_theme 1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-05-22 18:58+0200\n" "POT-Creation-Date: 2020-07-04 18:23+0200\n"
"PO-Revision-Date: 2020-05-22 19:16+0200\n" "PO-Revision-Date: 2020-05-22 19:16+0200\n"
"Last-Translator: \n"
"Language: fr\n" "Language: fr\n"
"Language-Team: fr <LL@li.org>\n" "Language-Team: fr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n" "Generated-By: Babel 2.8.0\n"
"Last-Translator: \n"
"X-Generator: Poedit 2.2.1\n"
#: sphinx_nervproject_theme/archives.html:4 #: sphinx_nervproject_theme/archives.html:4
msgid "Archives" msgid "Archives"
@ -60,6 +59,10 @@ msgstr "Langues"
msgid "Locations" msgid "Locations"
msgstr "Lieux" msgstr "Lieux"
#: sphinx_nervproject_theme/page.html:34
msgid "Comments"
msgstr "Commentaires"
#: sphinx_nervproject_theme/postcard.html:7 #: sphinx_nervproject_theme/postcard.html:7
msgid "About this page" msgid "About this page"
msgstr "À propos de cette page" msgstr "À propos de cette page"
@ -84,7 +87,7 @@ msgstr "Auteur(s)"
msgid "Location" msgid "Location"
msgstr "Lieu" msgstr "Lieu"
#: sphinx_nervproject_theme/postcard2.html:50 #: sphinx_nervproject_theme/postcard2.html:51
msgid "Language" msgid "Language"
msgstr "Langue" msgstr "Langue"
@ -135,10 +138,10 @@ msgid ""
" function will automatically search for all of the words. Pages\n" " function will automatically search for all of the words. Pages\n"
" containing fewer words won't appear in the result list." " containing fewer words won't appear in the result list."
msgstr "" msgstr ""
"Vous pouvez chercher ces documents ici. Entrez vos mots clé dans le " "Vous pouvez chercher ces documents ici. Entrez vos mots clé dans le champ"
"champ ci-dissous et cliquez sur «chercher». Veuillez noter que la " " ci-dissous et cliquez sur «chercher». Veuillez noter que la recherche "
"recherche porte sur l'ensemble des mots. Les pages contenant seulement " "porte sur l'ensemble des mots. Les pages contenant seulement une partie "
"une partie n'apparaîtront pas." "n'apparaîtront pas."
#: sphinx_nervproject_theme/search.html:42 #: sphinx_nervproject_theme/search.html:42
msgid "search" msgid "search"
@ -201,25 +204,25 @@ msgstr "Courriel"
msgid "Docs" msgid "Docs"
msgstr "Documentation" msgstr "Documentation"
#: sphinx_nervproject_theme/util/footer.html:4 #: sphinx_nervproject_theme/util/footer.html:5
#, python-format #, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s." msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s." msgstr "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#: sphinx_nervproject_theme/util/footer.html:6 #: sphinx_nervproject_theme/util/footer.html:7
#, python-format #, python-format
msgid "&#169; Copyright %(copyright)s." msgid "&#169; Copyright %(copyright)s."
msgstr "&#169; Copyright %(copyright)s." msgstr "&#169; Copyright %(copyright)s."
#: sphinx_nervproject_theme/util/footer.html:12 #: sphinx_nervproject_theme/util/footer.html:13
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
" Licensed under Creative Commons\n" " Licensed under Creative Commons\n"
" <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" role=" " <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" "
"\"img\">\n" "role=\"img\">\n"
" <title id=\"cc_by_footer\">CC</title>\n" " <title id=\"cc_by_footer\">CC</title>\n"
" <use xlink:href=\"%(pathto)s#creative-comons\">\n" " <use xlink:href=\"%(pathtocc)s#creative-commons\">\n"
" </use>\n" " </use>\n"
" </svg> %(license_subtype)s\n" " </svg> %(license_subtype)s\n"
" %(license_version)s.\n" " %(license_version)s.\n"
@ -227,16 +230,16 @@ msgid ""
msgstr "" msgstr ""
"\n" "\n"
" Sous licence Creative Commons\n" " Sous licence Creative Commons\n"
" <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" role=" " <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" "
"\"img\">\n" "role=\"img\">\n"
" <title id=\"cc_by_footer\">CC</title>\n" " <title id=\"cc_by_footer\">CC</title>\n"
" <use xlink:href=\"%(pathto)s#creative-comons\">\n" " <use xlink:href=\"%(pathtocc)s#creative-commons\">\n"
" </use>\n" " </use>\n"
" </svg> %(license_subtype)s\n" " </svg> %(license_subtype)s\n"
" %(license_version)s.\n" " %(license_version)s.\n"
" " " "
#: sphinx_nervproject_theme/util/footer.html:29 #: sphinx_nervproject_theme/util/footer.html:31
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -247,35 +250,32 @@ msgstr ""
" Sous licence %(license_text)s.\n" " Sous licence %(license_text)s.\n"
" " " "
#: sphinx_nervproject_theme/util/footer.html:38 #: sphinx_nervproject_theme/util/footer.html:43
#, python-format #, python-format
msgid "Last updated on %(last_updated)s." msgid "Last updated on %(last_updated)s."
msgstr "Dernière mise à jour le %(last_updated)s." msgstr "Dernière mise à jour le %(last_updated)s."
#: sphinx_nervproject_theme/util/footer.html:41 #: sphinx_nervproject_theme/util/footer.html:46
#, python-format #, python-format
msgid "" msgid ""
"Created using <a\n" "Created using <a\n"
" href=\"http://sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s " " href=\"http://sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s "
"with\n" "with\n"
" <a href=\"https://www.nerv-project.eu\">Nerv Project theme</a>\n" " <a href=\"https://www.nerv-project.eu\">Nerv Project theme</a>\n"
" based on <a href=\"https://github.com/schettino72/sphinx_press_theme" " based on <a "
"\">Press Theme</a>\n" "href=\"https://github.com/schettino72/sphinx_press_theme\">Press "
"Theme</a>\n"
" and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>." " and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>."
msgstr "" msgstr ""
"Créé avec <a\n" "Créé avec <a\n"
" href=\"http://sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s " " href=\"http://sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s et"
"et \n" " \n"
" <a href=\"https://www.nerv-project.eu\">le thème du Nerv Project</" " <a href=\"https://www.nerv-project.eu\">le thème du Nerv Project</a>\n"
"a>\n" " dérivé de <a "
" dérivé de <a href=\"https://github.com/schettino72/sphinx_press_theme" "href=\"https://github.com/schettino72/sphinx_press_theme\">Press "
"\">Press Theme</a>\n" "Theme</a>\n"
" et de <a href=\"https://ablog.readthedocs.io/\">ABlog</a>." " et de <a href=\"https://ablog.readthedocs.io/\">ABlog</a>."
#: sphinx_nervproject_theme/util/isso.html:19
msgid "Comments"
msgstr "Commentaires"
#: sphinx_nervproject_theme/util/linktags.html:2 #: sphinx_nervproject_theme/util/linktags.html:2
msgid "About these documents" msgid "About these documents"
msgstr "À propos de ces documents" msgstr "À propos de ces documents"
@ -284,6 +284,10 @@ msgstr "À propos de ces documents"
msgid "Copyright" msgid "Copyright"
msgstr "Copyright" msgstr "Copyright"
#: sphinx_nervproject_theme/util/navbar.html:11
msgid "Toggle sidebar"
msgstr ""
#: sphinx_nervproject_theme/util/pagenav.html:5 #: sphinx_nervproject_theme/util/pagenav.html:5
msgid "previous chapter" msgid "previous chapter"
msgstr "Chapitre précédent" msgstr "Chapitre précédent"
@ -295,3 +299,4 @@ msgstr "Chapitre suivant"
#: sphinx_nervproject_theme/util/searchbox.html:2 #: sphinx_nervproject_theme/util/searchbox.html:2
msgid "Quick search" msgid "Quick search"
msgstr "Recherche rapide" msgstr "Recherche rapide"

View file

@ -7,9 +7,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: sphinx_nervproject_theme 1.0\n" "Project-Id-Version: sphinx_nervproject_theme 2.0.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-05-22 18:58+0200\n" "POT-Creation-Date: 2020-07-04 18:23+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -58,6 +58,10 @@ msgstr ""
msgid "Locations" msgid "Locations"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/page.html:34
msgid "Comments"
msgstr ""
#: sphinx_nervproject_theme/postcard.html:7 #: sphinx_nervproject_theme/postcard.html:7
msgid "About this page" msgid "About this page"
msgstr "" msgstr ""
@ -82,7 +86,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/postcard2.html:50 #: sphinx_nervproject_theme/postcard2.html:51
msgid "Language" msgid "Language"
msgstr "" msgstr ""
@ -190,17 +194,17 @@ msgstr ""
msgid "Docs" msgid "Docs"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:4 #: sphinx_nervproject_theme/util/footer.html:5
#, python-format #, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s." msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:6 #: sphinx_nervproject_theme/util/footer.html:7
#, python-format #, python-format
msgid "&#169; Copyright %(copyright)s." msgid "&#169; Copyright %(copyright)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:12 #: sphinx_nervproject_theme/util/footer.html:13
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -208,14 +212,14 @@ msgid ""
" <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" " " <svg aria-labelledby=\"cc_by_footer\" class=\"fasvg\" "
"role=\"img\">\n" "role=\"img\">\n"
" <title id=\"cc_by_footer\">CC</title>\n" " <title id=\"cc_by_footer\">CC</title>\n"
" <use xlink:href=\"%(pathto)s#creative-comons\">\n" " <use xlink:href=\"%(pathtocc)s#creative-commons\">\n"
" </use>\n" " </use>\n"
" </svg> %(license_subtype)s\n" " </svg> %(license_subtype)s\n"
" %(license_version)s.\n" " %(license_version)s.\n"
" " " "
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:29 #: sphinx_nervproject_theme/util/footer.html:31
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -223,12 +227,12 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:38 #: sphinx_nervproject_theme/util/footer.html:43
#, python-format #, python-format
msgid "Last updated on %(last_updated)s." msgid "Last updated on %(last_updated)s."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/footer.html:41 #: sphinx_nervproject_theme/util/footer.html:46
#, python-format #, python-format
msgid "" msgid ""
"Created using <a\n" "Created using <a\n"
@ -241,10 +245,6 @@ msgid ""
" and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>." " and <a href=\"https://ablog.readthedocs.io/\">ABlog</a>."
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/isso.html:19
msgid "Comments"
msgstr ""
#: sphinx_nervproject_theme/util/linktags.html:2 #: sphinx_nervproject_theme/util/linktags.html:2
msgid "About these documents" msgid "About these documents"
msgstr "" msgstr ""
@ -253,6 +253,10 @@ msgstr ""
msgid "Copyright" msgid "Copyright"
msgstr "" msgstr ""
#: sphinx_nervproject_theme/util/navbar.html:11
msgid "Toggle sidebar"
msgstr ""
#: sphinx_nervproject_theme/util/pagenav.html:5 #: sphinx_nervproject_theme/util/pagenav.html:5
msgid "previous chapter" msgid "previous chapter"
msgstr "" msgstr ""

View file

@ -9,7 +9,7 @@
{% block body %} {% block body %}
{{ body }} {{ body }}
{% if builder=='html' %} {% if builder=='html' %}
<div class="section"> <div class="section no-print">
{% if ablog and pagename in ablog %} {% if ablog and pagename in ablog %}
{% include "postnavy.html" %} {% include "postnavy.html" %}
{% include "share.html" %} {% include "share.html" %}
@ -30,7 +30,7 @@
((pagename in ablog and (ablog[pagename].published or ((pagename in ablog and (ablog[pagename].published or
ablog.disqus_drafts)) or ablog.disqus_drafts)) or
(not pagename in ablog and ablog.disqus_pages)) %} (not pagename in ablog and ablog.disqus_pages)) %}
<section class="comments" id="comments"> <section class="comments no-print" id="comments">
<h2 class="panel">{{ _("Comments") }}</h2> <h2 class="panel">{{ _("Comments") }}</h2>
<section id="isso-thread" <section id="isso-thread"
data-isso-id="{{ pagename }}" data-isso-id="{{ pagename }}"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,28 +1,30 @@
<footer class="footer" role="contentinfo"> <footer class="footer" role="contentinfo">
{% if show_copyright %} {% if show_copyright %}
<p>
{% if hasdoc('copyright') %} {% if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&#169; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %} {% trans path=pathto('copyright'), copyright=copyright|e %}&#169; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{% else %} {% else %}
{% trans copyright=copyright|e %}&#169; Copyright {{ copyright }}.{% endtrans %} {% trans copyright=copyright|e %}&#169; Copyright {{ copyright }}.{% endtrans %}
{% endif %} {% endif %}
<br/> </p>
{% endif %} {% endif %}
{% if theme_license['type'] == "CC" %} {% if theme_license['type'] == "CC" %}
<a href="{{ theme_license.url }}"> <p><a href="{{ theme_license.url }}">
{% trans license_version=theme_license.version|e, {% trans license_version=theme_license.version|e,
license_subtype=theme_license.subtype|e, license_subtype=theme_license.subtype|e,
pathto=pathto('_static/fa/brands.svg', 1)|e %} pathtocc=pathto('_static/fa/brands.svg', 1)|e %}
Licensed under Creative Commons Licensed under Creative Commons
<svg aria-labelledby="cc_by_footer" class="fasvg" role="img"> <svg aria-labelledby="cc_by_footer" class="fasvg" role="img">
<title id="cc_by_footer">CC</title> <title id="cc_by_footer">CC</title>
<use xlink:href="{{ pathto }}#creative-comons"> <use xlink:href="{{ pathtocc }}#creative-commons">
</use> </use>
</svg> {{ license_subtype }} </svg> {{ license_subtype }}
{{ license_version }}. {{ license_version }}.
{% endtrans %} {% endtrans %}
</a> </a>
<br> </p>
{% else %} {% else %}
<p>
{% if theme_license.url %} {% if theme_license.url %}
<a href="{{ theme_license.url }}"> <a href="{{ theme_license.url }}">
{% endif %} {% endif %}
@ -32,7 +34,10 @@
{% if theme_license.url %} {% if theme_license.url %}
</a> </a>
{% endif %} {% endif %}
<br> </p>
{% endif %}
{% if last_updated or show_sphinx %}
<p>
{% endif %} {% endif %}
{% if last_updated %} {% if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
@ -42,7 +47,7 @@
href="http://sphinx-doc.org/">Sphinx</a> {{ sphinx_version }} with href="http://sphinx-doc.org/">Sphinx</a> {{ sphinx_version }} with
<a href="https://www.nerv-project.eu">Nerv Project theme</a> <a href="https://www.nerv-project.eu">Nerv Project theme</a>
based on <a href="https://github.com/schettino72/sphinx_press_theme">Press Theme</a> based on <a href="https://github.com/schettino72/sphinx_press_theme">Press Theme</a>
and <a href="https://ablog.readthedocs.io/">ABlog</a>.{% endtrans %} and <a href="https://ablog.readthedocs.io/">ABlog</a>.{% endtrans %}</p>
{% endif %} {% endif %}
<div class="pagecount"></div> <div class="pagecount"></div>
</footer> </footer>

View file

@ -1,7 +1,7 @@
<header class="navbar"> <header class="navbar">
<div id="header-identity" class="print-only"> <div id="header-identity" class="print-only">
<img id="navbar_logo" src="{{ pathto('_static/' + logo, 1) }}"/> <img id="navbar_logo" src="{{ pathto('_static/' + logo, 1) }}"/>
<div id="navbar_title">{{ html_title }}</div> <div id="navbar_title">{{ project|e }}</div>
</div> </div>
{% if builder=='html' %} {% if builder=='html' %}

View file

@ -1,12 +1,12 @@
<ul class="page-nav"> <ul class="page-nav no-print">
{%- if prev and theme_prevnext %} {%- if prev and theme_prevnext %}
<li class="prev"> <li class="prev no-print">
<a href="{{ prev.link|e }}" <a href="{{ prev.link|e }}"
title="{{ _('previous chapter') }}">← {{ prev.title }}</a> title="{{ _('previous chapter') }}">← {{ prev.title }}</a>
</li> </li>
{%- endif %} {%- endif %}
{%- if next and theme_prevnext %} {%- if next and theme_prevnext %}
<li class="next"> <li class="next no-print">
<a href="{{ next.link|e }}" <a href="{{ next.link|e }}"
title="{{ _('next chapter') }}">{{ next.title }} →</a> title="{{ _('next chapter') }}">{{ next.title }} →</a>
</li> </li>

View file

@ -27,19 +27,34 @@ pre {
} }
} }
td.linenos pre { td.linenos pre, pre span.lineno {
background-color: @CdBClr; border-right: solid 0.3em @CdLnBClr;
background-color: @CdLnBgClr;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
color: @CdLnTClr;
white-space: pre; white-space: pre;
overflow-wrap: normal; overflow-wrap: normal;
margin: 0;
}
pre span.lineno {
float: left;
margin: 0 0.5rem 0 -0.5rem;
padding-left: 0.5rem;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
} }
pre, pre[class*="language-"] { pre, pre[class*="language-"] {
line-height: 1.4; line-height: 1.4;
padding: 1.25rem 1.5rem; padding: 1.25rem 1.5rem 1.25rem 0.5rem;
margin: 0.85rem 0; margin: 0.85rem 0;
background-color: @PrBgClr; background-color: @PrBgClr;
color: @PrTClr; color: @PrTClr;
border-left: @PrBClr solid 0.5em; border-left: @PrBClr solid 0.5em;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
code { code {
color: @PrTClr; color: @PrTClr;
padding: 0; padding: 0;
@ -57,6 +72,8 @@ pre {
div[class*="language-"] { div[class*="language-"] {
position: relative; position: relative;
background-color: @CdBgClr; background-color: @CdBgClr;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
.highlight-lines { .highlight-lines {
padding-top: 1.3rem; padding-top: 1.3rem;
width: 100%; width: 100%;

View file

@ -63,6 +63,7 @@
html, body { html, body {
padding: 0; padding: 0;
margin: 0; margin: 0;
min-height: 100vh;
} }
body { body {
@ -92,6 +93,7 @@ body {
background-color: @NvBgClr; background-color: @NvBgClr;
box-sizing: border-box; box-sizing: border-box;
border-bottom: 0.3em solid @NvBClr; border-bottom: 0.3em solid @NvBClr;
box-shadow: 0 0.3em @NvBClr, 0 0 0.3em 0.4em @NvBgClr;
color: @NvTClr; color: @NvTClr;
.nav-dropdown-menu { .nav-dropdown-menu {
vertical-align: top; vertical-align: top;
@ -125,9 +127,9 @@ body {
padding: 0.3em;; padding: 0.3em;;
box-sizing: border-box; box-sizing: border-box;
border-top: 0.3em solid @FoBClr; border-top: 0.3em solid @FoBClr;
box-shadow: 0 -0.3em @FoBClr, 0 0 0.3em 0.4em @FoBgClr;
background-color: @FoBgClr; background-color: @FoBgClr;
color: @FoTClr; color: @FoTClr;
margin-top: -1.1em;
min-height: 5em; min-height: 5em;
z-index: 1000; z-index: 1000;
@ -138,6 +140,10 @@ body {
} }
} }
} }
ul.simple, ul {
list-style-type: '\2013 ';
list-style-position: outside;
}
#appflex { #appflex {
display: flex; display: flex;
@ -146,9 +152,6 @@ body {
.page { .page {
width: 100%; width: 100%;
ul.simple {
list-style: ' ';
}
} }
} }
} }
@ -219,7 +222,6 @@ h1, h2, h3, h4, h5, h6 {
.content:not(.custom) > & { .content:not(.custom) > & {
margin-bottom: 0; margin-bottom: 0;
&:first-child { &:first-child {
margin-top: -1.5rem;
margin-bottom: 1rem; margin-bottom: 1rem;
+ p, + pre, + .custom-block { + p, + pre, + .custom-block {
margin-top: 2rem; margin-top: 2rem;
@ -306,6 +308,7 @@ th, td {
:focus { :focus {
border-radius: 0.5em; border-radius: 0.5em;
box-shadow: 0 0 0.4em 0.3em @FClr !important;
} }
a.btn, a:visited.btn { a.btn, a:visited.btn {
@ -324,14 +327,32 @@ a.btn, a:visited.btn {
} }
} }
ul.social {
font-size: 0.9em;
display: flex;
flex-flow: row wrap;
justify-content: center;
> li {
margin: 0.5em;
flex-basis: min-content;
flex-grow: 0;
list-style: none;
}
}
svg.fasvg { svg.fasvg {
max-height: 1.5em; max-height: 1em;
max-width: 1.5ex; max-width: 1.5ex;
width: 1.5ex; height: 1em;
height: 1.5em; margin: 0 0 0 0 !important;
margin: 0 0 0 0; padding: 0 0 0 0 !important;
padding: 0 0 0 0;
vertical-align: baseline; vertical-align: baseline;
fill: @TClr;
use {
max-height: 1em;
height: 1em;
}
} }
a.fasvglink, a:visited.fasvglink { a.fasvglink, a:visited.fasvglink {
@ -346,90 +367,146 @@ a.fasvglink, a:visited.fasvglink {
padding-right: 0.5em; padding-right: 0.5em;
margin: 0.2em 0.2em 0.2em 0.2em; margin: 0.2em 0.2em 0.2em 0.2em;
color: @BtnTClr; color: @BtnTClr;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
svg { svg {
max-height: 1.2em; max-height: 1.2em !important;
max-width: 1.2ex; max-width: 1.2ex;
height: 1.2em; height: 1.2em !important;
width: 1.2ex; width: 1.2ex;
margin: 0.2em 0.5em 0.2em 0.2em; margin: 0.2em 0.5em 0.2em 0.2em !important;
display: inline-block; display: inline-block !important;
vertical-align: baseline; vertical-align: baseline;
fill: @BtnTClr;
}
&:hover {
-webkit-transform: scale(1.3em);
transform: scale(1.3em);
svg {
fill: @BtnAClr !important;
}
} }
&.email { &.email {
color: @SEmailClr; color: @SEmailClr;
border-color: @SEmailClr; border-color: @SEmailClr;
svg {
fill: @SEmailClr;
}
} }
&.contact { &.contact {
color: @SContactClr; color: @SContactClr;
border-color: @SContactClr; border-color: @SContactClr;
svg {
fill: @SContactClr;
}
} }
&.facebook { &.facebook {
color: @SFacebookClr; color: @SFacebookClr;
border-color: @SFacebookClr; border-color: @SFacebookClr;
svg {
fill: @SFacebookClr;
}
} }
&.github { &.github {
color: @SGithubClr; color: @SGithubClr;
border-color: @SGithubClr; border-color: @SGithubClr;
svg {
fill: @SGithubClr;
}
} }
&.google { &.google {
color: @SGoogleClr; color: @SGoogleClr;
border-color: @SGoogleClr; border-color: @SGoogleClr;
svg {
fill: @SGoogleClr;
}
} }
&.linkedin { &.linkedin {
color: @SLinkedinClr; color: @SLinkedinClr;
border-color: @SLinkedinClr; border-color: @SLinkedinClr;
svg {
fill: @SLinkedinClr;
}
} }
&.pinterest { &.pinterest {
color: @SPinterestClr; color: @SPinterestClr;
border-color: @SPinterestClr; border-color: @SPinterestClr;
svg {
fill: @SPinterestClr;
}
} }
&.reddit { &.reddit {
color: @SRedditClr; color: @SRedditClr;
border-color: @SRedditClr; border-color: @SRedditClr;
svg {
fill: @SRedditClr;
}
} }
&.rss { &.rss {
color: @SRssClr; color: @SRssClr;
border-color: @SRssClr; border-color: @SRssClr;
svg {
fill: @SRssClr;
}
} }
&.soundcloud { &.soundcloud {
color: @SSoundcloudClr; color: @SSoundcloudClr;
border-color: @SSoundcloudClr; border-color: @SSoundcloudClr;
svg {
fill: @SSoundcloudClr;
}
} }
&.stackOverflow { &.stackOverflow {
color: @SStackOverflowClr; color: @SStackOverflowClr;
border-color: @SStackOverflowClr; border-color: @SStackOverflowClr;
svg {
fill: @SStackOverflowClr;
}
} }
&.twitter { &.twitter {
color: @STwitterClr; color: @STwitterClr;
border-color: @STwitterClr; border-color: @STwitterClr;
svg {
fill: @STwitterClr;
}
} }
&.mastodon { &.mastodon {
color: @SMastodonClr; color: @SMastodonClr;
border-color: @SMastodonClr; border-color: @SMastodonClr;
svg {
fill: @SMastodonClr;
}
} }
&.diaspora { &.diaspora {
color: @SDiasporaClr; color: @SDiasporaClr;
border-color: @SDiasporaClr; border-color: @SDiasporaClr;
svg {
fill: @SDiasporaClr;
}
} }
&.youtube { &.youtube {
color: @SYoutubeClr; color: @SYoutubeClr;
border-color: @SYoutubeClr; border-color: @SYoutubeClr;
svg {
fill: @SYoutubeClr;
}
} }
&:hover { &:hover {
@ -503,6 +580,13 @@ button, a.btn, a:visited.btn {
max-width: 80ex; max-width: 80ex;
padding: 1em; padding: 1em;
margin: 1em 0.5em 1em 0.5em; margin: 1em 0.5em 1em 0.5em;
box-shadow: 0 0 0.2em 0.1em @BClr;
&a, &a:visited {
box-shadow: 0 0 0.2em 0.1em @LClr;
&:hover {
box-shadow: 0 0 0.2em 0.1em @LHClr;
}
}
} }
} }
@ -647,6 +731,13 @@ blockquote h2 {
max-width: 80ex; max-width: 80ex;
padding: 1em; padding: 1em;
margin: 1em 0.5em 1em 0.5em; margin: 1em 0.5em 1em 0.5em;
box-shadow: 0 0 0.2em 0.1em @BClr;
&a, &a:visited {
box-shadow: 0 0 0.2em 0.1em @LClr;
&:hover {
box-shadow: 0 0 0.2em 0.1em @LHClr;
}
}
} }
li { li {
@ -748,6 +839,27 @@ li.ablog-cloud-5 {
} }
} }
#main_layout_table {
margin: 0;
border: none !important;
border-spacing: 0;
> thead, > tfoot, > tbody {
border: none !important;
margin: 0;
tr, > tr > th, > tr > td {
border: none !important;
margin: 0;
padding: 0;
}
}
tbody {
break-inside: auto;
}
thead, tfoot {
display: none;
}
}
#header-identity { #header-identity {
width: 100%; width: 100%;
flex-basis: 100%; flex-basis: 100%;
@ -757,7 +869,7 @@ li.ablog-cloud-5 {
align-items: center; align-items: center;
img { img {
max-height: 5em; max-height: 5em;
max-width: 30%; max-width: 20%;
min-width: 5em; min-width: 5em;
} }
#navbar_title { #navbar_title {

View file

@ -3,6 +3,11 @@
@MQMobile: 72ex; @MQMobile: 72ex;
@MQMobileNarrow: 42ex; @MQMobileNarrow: 42ex;
// Print header and footer
@PrintFooterHeight: 7rem;
@PrintHeaderHeight: 6rem;
// colors // colors
/* /*
@ -760,10 +765,10 @@ Nv: Navbar
@printBaseArBgClr: @baseArBgClr; @printBaseArBgClr: @baseArBgClr;
@printBaseNvAClr: @baseNvAClr; @printBaseNvAClr: @baseNvAClr;
@printBaseNvBgClr: transparent; @printBaseNvBgClr: white;
@printBaseNvBClr: @baseNvBClr; @printBaseNvBClr: @baseNvBClr;
@printBaseNvTClr: black; @printBaseNvTClr: black;
@printBaseNvLClr: @baseNvLClr; @printBaseNvLClr: @printBaseLClr;
@printBaseNvLHClr: @baseNvLHClr; @printBaseNvLHClr: @baseNvLHClr;
@printBaseInBgClr: @baseInBgClr; @printBaseInBgClr: @baseInBgClr;

View file

@ -10,7 +10,7 @@
} }
.custom-block-title { .custom-block-title {
font-weight: 600; font-weight: 600;
margin-bottom: -0.4rem; margin-bottom: 0.4rem;
} }
&.tip, &.warning, &.danger { &.tip, &.warning, &.danger {
padding: .1rem 1.5rem; padding: .1rem 1.5rem;

View file

@ -1,160 +0,0 @@
#app, html, body {
min-height: 100vh;
}
#app {
.navbar {
box-shadow: 0 0.3em @NvBClr, 0 0 0.3em 0.4em @NvBgClr;
}
footer.footer {
box-shadow: 0 -0.3em @FoBClr, 0 0 0.3em 0.4em @FoBgClr;
}
}
:focus {
box-shadow: 0 0 0.4em 0.3em @FClr !important;
}
.flexgroup {
> * {
box-shadow: 0 0 0.2em 0.1em @BClr;
&a, &a:visited {
box-shadow: 0 0 0.2em 0.1em @LClr;
&:hover {
box-shadow: 0 0 0.2em 0.1em @LHClr;
}
}
}
}
.postlist-style-flex, .flexgroup {
> * {
box-shadow: 0 0 0.2em 0.1em @BClr;
&a, &a:visited {
box-shadow: 0 0 0.2em 0.1em @LClr;
&:hover {
box-shadow: 0 0 0.2em 0.1em @LHClr;
}
}
}
}
.sidebar-button {
cursor: pointer;
}
.sidebar {
box-shadow: 0 0 @SdBClr, -0.3em 0.1em 0.2em 0.3em @NvBgClr;
}
a.fasvglink, a:visited.fasvglink {
svg {
fill: @BtnTClr;
}
&.email svg {
fill: @SEmailClr;
}
&.contact svg {
fill: @SContactClr;
}
&.facebook svg {
fill: @SFacebookClr;
}
&.github svg {
fill: @SGithubClr;
}
&.google svg {
fill: @SGoogleClr;
}
&.linkedin svg {
fill: @SLinkedinClr;
}
&.pinterest svg {
fill: @SPinterestClr;
}
&.reddit svg {
fill: @SRedditClr;
}
&.rss svg {
fill: @SRssClr;
}
&.soundcloud svg {
fill: @SSoundcloudClr;
}
&.stackOverflow svg {
fill: @SStackOverflowClr;
}
&.twitter svg {
fill: @STwitterClr;
}
&.mastodon svg {
fill: @SMastodonClr;
}
&.diaspora svg {
fill: @SDiasporaClr;
}
&.youtube svg {
fill: @SYoutubeClr;
}
&:hover {
-webkit-transform: scale(1.3em);
transform: scale(1.3em);
svg {
fill: @BtnAClr !important;
}
}
}
svg.fasvg {
fill: @TClr;
}
ul.social {
font-size: 0.9em;
display: flex;
flex-flow: row wrap;
justify-content: center;
> li {
margin: 0.5em;
flex-basis: min-content;
flex-grow: 0;
list-style: none;
}
}
@media print {
#app {
.navbar {
box-shadow: none;
}
footer.footer {
box-shadow: none;
}
}
main.content {
column-count: 2;
column-gap: 3em;
column-rule: solid 0.2em @BClr;
}
}

View file

@ -1,18 +1,19 @@
@media print { @media print {
@page { @page {
margin: 0mm auto !important; margin: 0mm !important;
padding: 7rem 0 7rem 0;
size: A4; size: A4;
orphans:4;
widows:3;
} }
.print-only { .print-only {
display: block; display: block;
} }
.no-print { .no-print {
display: none; display: none !important;
div, section, span {
display: none !important;
} }
.no-columns {
column-span: all;
} }
main.content { main.content {
@ -25,45 +26,104 @@
.sidebar-button { .sidebar-button {
display: none; display: none;
} }
html { html, body {
padding: 0; padding: 0;
margin: 0; margin: 0;
width: 210mm; font-size: 11pt;
size: A4; size: A4;
font-size: 12pt; height: 297mm;
width: 210mm;
hyphens: auto; hyphens: auto;
hyphenate-character: "\2013";
-webkit-hyphenate-character: "\2013";
overflow-wrap: break-word; overflow-wrap: break-word;
word-break: break-word;
text-align: justify;
}
#main_layout_table {
> tbody {
overflow: hidden;
}
> tfoot {
display: table-footer-group !important;
}
> thead {
display: table-header-group !important;
}
> thead #layout_header {
display: inline-block;
height: calc(@PrintHeaderHeight + 1rem + 10mm);
min-height: calc(@PrintHeaderHeight + 1rem + 10mm);
}
> tfoot #layout_footer {
display: inline-block;
height: calc(@PrintFooterHeight + 1rem + 10mm);
min-height: calc(@PrintFooterHeight + 1rem + 10mm);
} }
body {
margin: 0;
padding: 0;
} }
#app { #app {
display: block !important;
flex-flow: row nowrap !important;
justify-content: normal !important;
> * {
flex-grow: 0 !important;
flex-basis: auto !important;
flex-shrink: 0 !important;
}
#appflex {
display: block !important;
flex-flow: row nowrap !important;
flex-grow: 0 !important;
flex-basis: auto !important;
justify-content: normal !important;
> * {
flex-grow: 0 !important;
flex-basis: auto !important;
flex-shrink: 0 !important;
}
}
footer.footer { footer.footer {
position: fixed; position: fixed !important;
bottom: 297mm; bottom: 0;
left: 10mm; left: 0;
width: 190mm; margin: 0 10mm 0 10mm;
height: 7rem; padding: 0 0 10mm 0;
width: calc(100% - 20mm);
height: @PrintFooterHeight;
z-index: 1000; z-index: 1000;
box-shadow: none;
p {
margin: 0; margin: 0;
.pagecount { padding: 0.5em 0 0 0;
position: absolute; line-height: 1.2em !important;
bottom: 1cm; }
left: 1cm; p, h1, h2, h3, h4, h5, h6 {
text-indent: 0;
}
a[href*='//']:after {
content:"";
}
#pagecount {
float: right;
height: 2em;
font-weight: bold; font-weight: bold;
content: counter(page) "/" counter(pages); content: counter(page) "/" counter(pages);
} }
} }
header.navbar { header.navbar {
position: fixed; position: fixed !important;
top: 0mm; box-shadow: none;
left: 10mm; top: 0;
width: 190mm; left: 0;
height: 7rem; width: calc(100% - 20mm);
height: calc(@PrintHeaderHeight + 10mm);
overflow: hidden;
z-index: 1000; z-index: 1000;
margin: 0; margin: 0 10mm 0 10mm;
padding: 10mm 0 0 0;
.home-link { .home-link {
display: none; display: none;
@ -71,16 +131,83 @@
} }
h1 { h1 {
column-span: all; column-span: all;
break-after: right;
text-align: center;
margin-top: 25%;
font-size: 3em;
} }
h2 { h2 {
page-break-before: always;
width: 100%;
text-align: right; text-align: right;
font-size: 3rem;
column-span: all; column-span: all;
break-before: page;
break-after: avoid;
padding-top: 0;
} }
pre, table {
img, svg, h1, h2, h3, h4, h5, h6, span, a[data-lightbox] {
break-inside: avoid !important;
}
h3, h4, h5, h6 {
break-before: auto;
break-after: avoid-page;
margin-bottom: 1.2em;
}
pre, table, form, svg, .colspan {
column-span: all; column-span: all;
margin-top: 1.5em;
margin-bottom: 1.5em;
}
.flexgroup, .postlist-style-flex {
display: block !important;
flex-flow: row nowrap !important;
justify-content: normal !important;
> * {
border: none !important;
box-shadow: none !important;
flex-grow: 0 !important;
flex-basis: auto !important;
flex-shrink: 0 !important;
}
}
p, li, span, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word;
hyphens: auto !important;
hyphenate-character: "\2013";
-webkit-hyphenate-character: "\2013";
word-break: break-word;
}
p, h1, h2, h3, h4, h5, h6 {
text-indent: 1.2em;
}
a[href*='//']:after {
content:" [" attr(href) "]";
font-style: italic;
text-decoration: underline;
}
.toctree-wrapper.compound, div.section, ul, ol, pre, blockquote, .admonition, form {
display: block;
}
.toctree-wrapper.compound, div.section, ul, ol, pre, blockquote, .admonition, table, form {
height: min-content;
justify-self: normal;
justify-content: normal;
break-inside: auto;
break-before: auto;
break-after: auto;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
}
main.content {
// * Need to remove layout table, waiting for better support from browsers
//column-count: 3;
//column-fill: auto;
//column-gap: 3em;
//column-rule: solid 0.2em @AaBgClr;
//box-decoration-break: clone;
//-webkit-box-decoration-break: clone;
} }
} }
} }

View file

@ -86,6 +86,7 @@
z-index: 10; z-index: 10;
box-sizing: border-box; box-sizing: border-box;
border-right: 0.2em solid @SdBClr; border-right: 0.2em solid @SdBClr;
box-shadow: 0 0 @SdBClr, -0.3em 0.1em 0.2em 0.3em @NvBgClr;
ul { ul {
padding: 0; padding: 0;
@ -222,7 +223,9 @@
width: 1.65rem; width: 1.65rem;
height: 1.65rem; height: 1.65rem;
padding: 0.2rem; padding: 0.2rem;
border: none !important; border: 0.1em solid @NvBClr !important;
border-radius: 0.1em !important;
cursor: pointer;
background-color: transparent; background-color: transparent;
svg { svg {
display: block; display: block;

View file

@ -82,7 +82,7 @@ ul.breadcrumbs {
clear: both; clear: both;
min-height: 2rem; min-height: 2rem;
padding-top: 1rem; padding-top: 1rem;
color: grey; color: @FoTClr;
font-size: small; font-size: small;
line-height: 1.5rem; line-height: 1.5rem;
} }
@ -109,6 +109,9 @@ ul.breadcrumbs {
padding: .1rem 1.5rem; padding: .1rem 1.5rem;
border-left-width: .5rem; border-left-width: .5rem;
border-left-style: solid; border-left-style: solid;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
height: min-content;
margin: 1rem 0; margin: 1rem 0;
// default color // default color
background-color: @AaBgClr; background-color: @AaBgClr;
@ -229,6 +232,8 @@ ul.breadcrumbs {
blockquote { blockquote {
background-color: @BqBgClr; background-color: @BqBgClr;
border-color: @BqBClr; border-color: @BqBClr;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
margin-left: -0.4rem; margin-left: -0.4rem;
color: @BqTClr; color: @BqTClr;
a, a:visited { a, a:visited {

View file

@ -1,4 +1,3 @@
@import './no-weasyprint.less';
@import './wrapper.less'; @import './wrapper.less';
@import './common.less'; @import './common.less';
@import './config.less'; @import './config.less';

View file

@ -1,184 +0,0 @@
@import './wrapper-print.less';
@import './common.less';
@import './print.less';
@import './config.less';
@sidebarWidth: @basesidebarWidth;
@contentWidth: @basecontentWidth;
@lineNumbersWrapperWidth: @baselineNumbersWrapperWidth;
@AClr: @printBaseAClr;
@SdA2Clr: @printBaseSdA2Clr;
@FClr: @printBaseFClr;
@BgClr: @printBaseBgClr;
@TClr: @printBaseTClr;
@T2Clr: @printBaseT2Clr;
@SdT2Clr: @printBaseSdT2Clr;
@TrClr: @printBaseTrClr;
@BClr: @printBaseBClr;
@LClr: @printBaseLClr;
@LHClr: @printBaseLHClr;
@ArBgClr: @printBaseArBgClr;
@NvAClr: @printBaseNvAClr;
@NvBgClr: @printBaseNvBgClr;
@NvBClr: @printBaseNvBClr;
@NvTClr: @printBaseNvTClr;
@NvLClr: @printBaseNvLClr;
@NvLHClr: @printBaseNvLHClr;
@InBgClr: @printBaseInBgClr;
@InBClr: @printBaseInBClr;
@BtnBgAClr: @printBaseBtnBgAClr;
@BtnBgClr: @printBaseBtnBgClr;
@BtnBClr: @printBaseBtnBClr;
@BtnTClr: @printBaseBtnTClr;
@AaBgClr: @printBaseAaBgClr;
@AaBClr: @printBaseAaBClr;
@AaTClr: @printBaseAaTClr;
@AaLClr: @printBaseAaLClr;
@AaLHClr: @printBaseAaLHClr;
@AtBgClr: @printBaseAtBgClr;
@AtBClr: @printBaseAtBClr;
@AtTClr: @printBaseAtTClr;
@AtLClr: @printBaseAtLClr;
@AtLHClr: @printBaseAtLHClr;
@AwBgClr: @printBaseAwBgClr;
@AwBClr: @printBaseAwBClr;
@AwTClr: @printBaseAwTClr;
@AwLClr: @printBaseAwLClr;
@AwLHClr: @printBaseAwLHClr;
@AdBgClr: @printBaseAdBgClr;
@AdBClr: @printBaseAdBClr;
@AdTClr: @printBaseAdTClr;
@AdLClr: @printBaseAdLClr;
@AdLHClr: @printBaseAdLHClr;
@AsBgClr: @printBaseAsBgClr;
@AsBClr: @printBaseAsBClr;
@AsTClr: @printBaseAsTClr;
@AsLClr: @printBaseAsLClr;
@AsLHClr: @printBaseAsLHClr;
@AhBgClr: @printBaseAhBgClr;
@AhBClr: @printBaseAhBClr;
@AhTClr: @printBaseAhTClr;
@AhLClr: @printBaseAhLClr;
@AhLHClr: @printBaseAhLHClr;
@AiBgClr: @printBaseAiBgClr;
@AiBClr: @printBaseAiBClr;
@AiTClr: @printBaseAiTClr;
@AiLClr: @printBaseAiLClr;
@AiLHClr: @printBaseAiLHClr;
@AnBgClr: @printBaseAnBgClr;
@AnBClr: @printBaseAnBClr;
@AnTClr: @printBaseAnTClr;
@AnLClr: @printBaseAnLClr;
@AnLHClr: @printBaseAnLHClr;
@AcBgClr: @printBaseAcBgClr;
@AcBClr: @printBaseAcBClr;
@AcTClr: @printBaseAcTClr;
@AcLClr: @printBaseAcLClr;
@AcLHClr: @printBaseAcLHClr;
@AeBgClr: @printBaseAeBgClr;
@AeBClr: @printBaseAeBClr;
@AeTClr: @printBaseAeTClr;
@AeLClr: @printBaseAeLClr;
@AeLHClr: @printBaseAeLHClr;
@BqAClr: @printBaseBqAClr;
@BqBgClr: @printBaseBqBgClr;
@BqBClr: @printBaseBqBClr;
@BqTClr: @printBaseBqTClr;
@BqLClr: @printBaseBqLClr;
@BqLHClr: @printBaseBqLHClr;
@CdAClr: @printBaseCdAClr;
@CdBgAClr: @printBaseCdBgAClr;
@CdBgClr: @printBaseCdBgClr;
@CdBClr: @printBaseCdBClr;
@TClr: @printBaseTClr;
@T2Clr: @printBaseT2Clr;
@SdT2Clr: @printBaseSdT2Clr;
@CdT2Clr: @printBaseCdT2Clr;
@CdTClr: @printBaseCdTClr;
@CdLClr: @printBaseCdLClr;
@CdLHClr: @printBaseCdLHClr;
@CdLnTClr: @printBaseCdLnTClr;
@CdLnBClr: @printBaseCdLnBClr;
@CdLnBgClr: @printBaseCdLnBgClr;
@PrAClr: @printBasePrAClr;
@PrBgAClr: @printBasePrBgAClr;
@PrBgClr: @printBasePrBgClr;
@PrBClr: @printBasePrBClr;
@PrB2Clr: @printBasePrB2Clr;
@PrTClr: @printBasePrTClr;
@PrLNClr: @printBasePrLNClr;
@PrLClr: @printBasePrLClr;
@PrLHClr: @printBasePrLHClr;
@TeAClr: @printBaseTeAClr;
@TeBgAClr: @printBaseTeBgAClr;
@TeBgClr: @printBaseTeBgClr;
@TeBClr: @printBaseTeBClr;
@TeTClr: @printBaseTeTClr;
@TeLClr: @printBaseTeLClr;
@TeLHClr: @printBaseTeLHClr;
@ToAClr: @printBaseToAClr;
@ToBgAClr: @printBaseToBgAClr;
@ToBgClr: @printBaseToBgClr;
@ToBClr: @printBaseToBClr;
@ToTClr: @printBaseToTClr;
@ToLClr: @printBaseToLClr;
@ToLHClr: @printBaseToLHClr;
@SdAClr: @printBaseSdAClr;
@SdBgClr: @printBaseSdBgClr;
@SdBClr: @printBaseSdBClr;
@SdTClr: @printBaseSdTClr;
@SdLClr: @printBaseSdLClr;
@SdLHClr: @printBaseSdLHClr;
@FoAClr: @printBaseFoAClr;
@FoBClr: @printBaseFoBClr;
@FoBgClr: @printBaseFoBgClr;
@FoTClr: @printBaseFoTClr;
@FoLClr: @printBaseFoLClr;
@FoLHClr: @printBaseFoLHClr;
@InAClr: @printBaseInAClr;
@InTClr: @printBaseInTClr;
@InHClr: @printBaseInHClr;
@BtnAClr: @printBaseBtnAClr;
@BtnHClr: @printBaseBtnHClr;
@BhBgClr: @printBaseBhBgClr;
@SEmailClr: @printBaseSEmailClr;
@SContactClr: @printBaseSContactClr;
@SFacebookClr: @printBaseSFacebookClr;
@SGithubClr: @printBaseSGithubClr;
@SGoogleClr: @printBaseSGoogleClr;
@SLinkedinClr: @printBaseSLinkedinClr;
@SPinterestClr: @printBaseSPinterestClr;
@SRedditClr: @printBaseSRedditClr;
@SRssClr: @printBaseSRssClr;
@SSoundcloudClr: @printBaseSSoundcloudClr;
@SStackOverflowClr: @printBaseSStackOverflowClr;
@STwitterClr: @printBaseSTwitterClr;
@SMastodonClr: @printBaseSMastodonClr;
@SDiasporaClr: @printBaseSDiasporaClr;
@SYoutubeClr: @printBaseSYoutubeClr;

View file

@ -1,4 +1,3 @@
@import './no-weasyprint.less';
@import './wrapper.less'; @import './wrapper.less';
@import './common.less'; @import './common.less';
@import './input.less'; @import './input.less';