Merge branch 'master' of github.com-priv:lioman/Flex

This commit is contained in:
Elias Kirchgässner 2022-09-02 09:33:51 +02:00
commit 56e011d70a
75 changed files with 8194 additions and 13085 deletions

1
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1 @@
* @alexandrevicenzi

28
.github/workflows/pelican-test.yaml vendored Normal file
View file

@ -0,0 +1,28 @@
name: Pelican test
on:
- push
- pull_request
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- 3.6
- 3.7
- 3.8
- 3.9
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install tox tox-gh-actions
- name: Test with tox
run: tox

View file

@ -17,6 +17,7 @@ The minimalist [Pelican](http://blog.getpelican.com/) theme.
- Open Graph - Open Graph
- Rich Snippets (JSON-LD) - Rich Snippets (JSON-LD)
- Related Posts (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/related_posts) or AddThis) - Related Posts (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/related_posts) or AddThis)
- Series (via [plugin](https://github.com/pelican-plugins/series))
- Minute read (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/post_stats)) - Minute read (via [plugin](https://github.com/getpelican/pelican-plugins/tree/master/post_stats))
- [Multiple Code Highlight Styles](https://github.com/alexandrevicenzi/Flex/wiki/Code-Highlight) - [Multiple Code Highlight Styles](https://github.com/alexandrevicenzi/Flex/wiki/Code-Highlight)
- [Translation Support](https://github.com/alexandrevicenzi/Flex/wiki/Translations) - [Translation Support](https://github.com/alexandrevicenzi/Flex/wiki/Translations)
@ -41,9 +42,11 @@ The minimalist [Pelican](http://blog.getpelican.com/) theme.
- [I18N Sub-sites](https://github.com/getpelican/pelican-plugins/tree/master/i18n_subsites) - [I18N Sub-sites](https://github.com/getpelican/pelican-plugins/tree/master/i18n_subsites)
- [Minute read](https://github.com/getpelican/pelican-plugins/tree/master/post_stats) - [Minute read](https://github.com/getpelican/pelican-plugins/tree/master/post_stats)
- [Related Posts](https://github.com/getpelican/pelican-plugins/tree/master/related_posts) - [Related Posts](https://github.com/getpelican/pelican-plugins/tree/master/related_posts)
- [Series](https://github.com/pelican-plugins/series)
- [Representative image](https://github.com/getpelican/pelican-plugins/tree/master/representative_image) - [Representative image](https://github.com/getpelican/pelican-plugins/tree/master/representative_image)
- [Neighbors](https://github.com/getpelican/pelican-plugins/tree/master/neighbors) - [Neighbors](https://github.com/getpelican/pelican-plugins/tree/master/neighbors)
- [Tipue Search](https://github.com/getpelican/pelican-plugins/blob/master/tipue_search/) - [Pelican Search](https://github.com/pelican-plugins/search)
- [Tipue Search](https://github.com/getpelican/pelican-plugins/blob/master/tipue_search/) (deprecated)
- [SEO](https://github.com/pelican-plugins/seo) - [SEO](https://github.com/pelican-plugins/seo)
## Install ## Install

View file

@ -21,6 +21,14 @@ ifeq ($(RELATIVE), 1)
PELICANOPTS += --relative-urls PELICANOPTS += --relative-urls
endif endif
SERVER ?= "0.0.0.0"
PORT ?= 0
ifneq ($(PORT), 0)
PELICANOPTS += -p $(PORT)
endif
help: help:
@echo 'Makefile for a pelican Web site ' @echo 'Makefile for a pelican Web site '
@echo ' ' @echo ' '
@ -32,43 +40,40 @@ help:
@echo ' make serve [PORT=8000] serve site at http://localhost:8000' @echo ' make serve [PORT=8000] serve site at http://localhost:8000'
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 ' @echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
@echo ' make devserver [PORT=8000] serve and regenerate together ' @echo ' make devserver [PORT=8000] serve and regenerate together '
@echo ' make devserver-global regenerate and serve on 0.0.0.0 '
@echo ' make github upload the web site via gh-pages '
@echo ' ' @echo ' '
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html ' @echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
@echo 'Set the RELATIVE variable to 1 to enable relative urls ' @echo 'Set the RELATIVE variable to 1 to enable relative urls '
@echo ' ' @echo ' '
html: html:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
clean: clean:
[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) [ ! -d "$(OUTPUTDIR)" ] || rm -rf "$(OUTPUTDIR)"
regenerate: regenerate:
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) "$(PELICAN)" -r "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
serve: serve:
ifdef PORT "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT)
else
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
endif
serve-global: serve-global:
ifdef SERVER "$(PELICAN)" -l "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS) -b $(SERVER)
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) -b $(SERVER)
else
$(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) -b 0.0.0.0
endif
devserver: devserver:
ifdef PORT "$(PELICAN)" -lr "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(CONFFILE)" $(PELICANOPTS)
$(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT)
else devserver-global:
$(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -b 0.0.0.0
endif
publish: publish:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS)
.PHONY: html help clean regenerate serve serve-global devserver publish github: publish
ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) "$(OUTPUTDIR)"
git push origin $(GITHUB_PAGES_BRANCH)
.PHONY: html help clean regenerate serve serve-global devserver publish github

View file

@ -0,0 +1,27 @@
Title: Flex 2.5.0
Date: 2022-08-31 08:00
Modified: 2022-08-31 08:00
Category: News
Tags: pelican, python, theme
Slug: flex-pelican-theme-update-2-5
Cover: images/flex-screenshot.png
[Flex theme](https://github.com/alexandrevicenzi/Flex) 2.5.0 comes with minor fixes and big improvments.
- Added support for [Pelican Search](https://github.com/pelican-plugins/search) plugin as [Tipue Search](https://github.com/getpelican/pelican-plugins/tree/master/tipue_search) is deprecated
- Tipue Search support will be removed in Flex 3.0
- Added support for [SEO](https://github.com/pelican-plugins/seo) plugin
- Added support for [Series](https://github.com/pelican-plugins/series) plugin
- Added support for [Microsoft Clarity](https://clarity.microsoft.com/)
- Added support for Google Analytics v4
- Updated translations
- Improved styles for Table of Contents and Figure with captions, as well other small fixes
For more details check our [Wiki](https://github.com/alexandrevicenzi/Flex/wiki).
The next Flex version will be 3.0 and it will bring a few changes to the theme structure, introducing a few configuration changes.
Over the years many features were added to Flex theme and some with not much care.
Because of this, code cleanup is needed to allow theme maintenance in the future.
Pelican also changed, and some features present in Flex are now available in Pelican or as new plugins. It's time to review everything done so far.
Hope you enjoy this version and stay tuned for Flex 3.0.

View file

@ -45,6 +45,8 @@ USE_FOLDER_AS_CATEGORY = False
MAIN_MENU = True MAIN_MENU = True
HOME_HIDE_TAGS = True HOME_HIDE_TAGS = True
GITHUB_CORNER_URL = "https://github.com/alexandrevicenzi/Flex"
SOCIAL = ( SOCIAL = (
("github", "https://github.com/alexandrevicenzi/Flex"), ("github", "https://github.com/alexandrevicenzi/Flex"),
("rss", "/blog/feeds/all.atom.xml"), ("rss", "/blog/feeds/all.atom.xml"),

View file

@ -1,121 +1,148 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
import shlex
import shutil import shutil
import sys import sys
import datetime import datetime
from invoke import task from invoke import task
from invoke.main import program
from invoke.util import cd from invoke.util import cd
from pelican import main as pelican_main
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
from pelican.settings import DEFAULT_CONFIG, get_settings_from_file from pelican.settings import DEFAULT_CONFIG, get_settings_from_file
SETTINGS_FILE_BASE = "pelicanconf.py" OPEN_BROWSER_ON_SERVE = True
SETTINGS_FILE_BASE = 'pelicanconf.py'
SETTINGS = {} SETTINGS = {}
SETTINGS.update(DEFAULT_CONFIG) SETTINGS.update(DEFAULT_CONFIG)
LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE) LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE)
SETTINGS.update(LOCAL_SETTINGS) SETTINGS.update(LOCAL_SETTINGS)
CONFIG = { CONFIG = {
"settings_base": SETTINGS_FILE_BASE, 'settings_base': SETTINGS_FILE_BASE,
"settings_publish": "publishconf.py", 'settings_publish': 'publishconf.py',
# Output path. Can be absolute or relative to tasks.py. Default: 'output' # Output path. Can be absolute or relative to tasks.py. Default: 'output'
"deploy_path": SETTINGS["OUTPUT_PATH"], 'deploy_path': SETTINGS['OUTPUT_PATH'],
# Github Pages configuration # Github Pages configuration
"github_pages_branch": "gh-pages", 'github_pages_branch': 'gh-pages',
"commit_message": "'Publish site on {}'".format(datetime.date.today().isoformat()), 'commit_message': "'Publish site on {}'".format(datetime.date.today().isoformat()),
# Port for `serve` # Host and port for `serve`
"port": 8000, 'host': 'localhost',
'port': 8000,
} }
@task @task
def clean(c): def clean(c):
"""Remove generated files""" """Remove generated files"""
if os.path.isdir(CONFIG["deploy_path"]): if os.path.isdir(CONFIG['deploy_path']):
shutil.rmtree(CONFIG["deploy_path"]) shutil.rmtree(CONFIG['deploy_path'])
os.makedirs(CONFIG["deploy_path"]) os.makedirs(CONFIG['deploy_path'])
@task @task
def build(c): def build(c):
"""Build local version of site""" """Build local version of site"""
c.run("pelican -s {settings_base}".format(**CONFIG)) pelican_run('-s {settings_base}'.format(**CONFIG))
@task @task
def rebuild(c): def rebuild(c):
"""`build` with the delete switch""" """`build` with the delete switch"""
c.run("pelican -d -s {settings_base}".format(**CONFIG)) pelican_run('-d -s {settings_base}'.format(**CONFIG))
@task @task
def regenerate(c): def regenerate(c):
"""Automatically regenerate site upon file modification""" """Automatically regenerate site upon file modification"""
c.run("pelican -r -s {settings_base}".format(**CONFIG)) pelican_run('-r -s {settings_base}'.format(**CONFIG))
@task @task
def serve(c): def serve(c):
"""Serve site at http://localhost:$PORT/ (default port is 8000)""" """Serve site at http://$HOST:$PORT/ (default is localhost:8000)"""
class AddressReuseTCPServer(RootedHTTPServer): class AddressReuseTCPServer(RootedHTTPServer):
allow_reuse_address = True allow_reuse_address = True
server = AddressReuseTCPServer( server = AddressReuseTCPServer(
CONFIG["deploy_path"], ("", CONFIG["port"]), ComplexHTTPRequestHandler CONFIG['deploy_path'],
) (CONFIG['host'], CONFIG['port']),
ComplexHTTPRequestHandler)
sys.stderr.write("Serving on port {port} ...\n".format(**CONFIG)) if OPEN_BROWSER_ON_SERVE:
# Open site in default browser
import webbrowser
webbrowser.open("http://{host}:{port}".format(**CONFIG))
sys.stderr.write('Serving at {host}:{port} ...\n'.format(**CONFIG))
server.serve_forever() server.serve_forever()
@task @task
def reserve(c): def reserve(c):
"""`build`, then `serve`""" """`build`, then `serve`"""
build(c) build(c)
serve(c) serve(c)
@task @task
def preview(c): def preview(c):
"""Build production version of site""" """Build production version of site"""
c.run("pelican -s {settings_publish}".format(**CONFIG)) pelican_run('-s {settings_publish}'.format(**CONFIG))
@task @task
def livereload(c): def livereload(c):
"""Automatically reload browser tab upon file modification.""" """Automatically reload browser tab upon file modification."""
from livereload import Server from livereload import Server
build(c) def cached_build():
cmd = '-s {settings_base} -e CACHE_CONTENT=True LOAD_CONTENT_CACHE=True'
pelican_run(cmd.format(**CONFIG))
cached_build()
server = Server() server = Server()
# Watch the base settings file theme_path = SETTINGS['THEME']
server.watch(CONFIG["settings_base"], lambda: build(c)) watched_globs = [
# Watch content source files CONFIG['settings_base'],
content_file_extensions = [".md", ".rst"] '{}/templates/**/*.html'.format(theme_path),
]
content_file_extensions = ['.md', '.rst']
for extension in content_file_extensions: for extension in content_file_extensions:
content_blob = "{0}/**/*{1}".format(SETTINGS["PATH"], extension) content_glob = '{0}/**/*{1}'.format(SETTINGS['PATH'], extension)
server.watch(content_blob, lambda: build(c)) watched_globs.append(content_glob)
# Watch the theme's templates and static assets
theme_path = SETTINGS["THEME"] static_file_extensions = ['.css', '.js']
server.watch("{}/templates/*.html".format(theme_path), lambda: build(c))
static_file_extensions = [".css", ".js"]
for extension in static_file_extensions: for extension in static_file_extensions:
static_file = "{0}/static/**/*{1}".format(theme_path, extension) static_file_glob = '{0}/static/**/*{1}'.format(theme_path, extension)
server.watch(static_file, lambda: build(c)) watched_globs.append(static_file_glob)
# Serve output path on configured port
server.serve(port=CONFIG["port"], root=CONFIG["deploy_path"]) for glob in watched_globs:
server.watch(glob, cached_build)
if OPEN_BROWSER_ON_SERVE:
# Open site in default browser
import webbrowser
webbrowser.open("http://{host}:{port}".format(**CONFIG))
server.serve(host=CONFIG['host'], port=CONFIG['port'], root=CONFIG['deploy_path'])
@task @task
def publish(c): def publish(c):
"""Publish to production via rsync""" """Publish to production via rsync"""
c.run("pelican -s {settings_publish}".format(**CONFIG)) pelican_run('-s {settings_publish}'.format(**CONFIG))
c.run( c.run(
'rsync --delete --exclude ".DS_Store" -pthrvz -c ' 'rsync --delete --exclude ".DS_Store" -pthrvz -c '
'-e "ssh -p {ssh_port}" ' '-e "ssh -p {ssh_port}" '
"{} {ssh_user}@{ssh_host}:{ssh_path}".format( '{} {ssh_user}@{ssh_host}:{ssh_path}'.format(
CONFIG["deploy_path"].rstrip("/") + "/", **CONFIG CONFIG['deploy_path'].rstrip('/') + '/',
) **CONFIG))
)
@task
def gh_pages(c):
"""Publish to GitHub Pages"""
preview(c)
c.run('ghp-import -b {github_pages_branch} '
'-m {commit_message} '
'{deploy_path} -p'.format(**CONFIG))
def pelican_run(cmd):
cmd += ' ' + program.core.remainder # allows to pass-through args to pelican
pelican_main(shlex.split(cmd))

View file

@ -40,5 +40,14 @@ gulp.task('pygments', function () {
.pipe(gulp.dest('./static/pygments')); .pipe(gulp.dest('./static/pygments'));
}); });
gulp.task('watch-less', function () {
return gulp.watch('static/stylesheet/*.less', gulp.task('less'));
});
gulp.task('watch-js', function () {
return gulp.watch('static/dark-theme/!(*.min).js', gulp.task('uglify'));
})
gulp.task('default', gulp.series(['less', 'uglify', 'cp', 'pygments'])); gulp.task('default', gulp.series(['less', 'uglify', 'cp', 'pygments']));
gulp.task('watch', gulp.series('default', gulp.parallel('watch-less', 'watch-js')));

View file

@ -8,7 +8,8 @@
}, },
"scripts": { "scripts": {
"test": "source venv/bin/activate && pip install pelican markdown && pelican -s tests/pelicanconf.py && deactivate", "test": "source venv/bin/activate && pip install pelican markdown && pelican -s tests/pelicanconf.py && deactivate",
"build": "node_modules/gulp/bin/gulp.js default" "build": "gulp default",
"watch": "gulp watch"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -1 +1 @@
function ThemeManager(e){var t=e.defaultTheme,r="true"===e.enableAutoDetectTheme.toLowerCase(),a=window.matchMedia("light"===t?"(prefers-color-scheme: dark)":"(prefers-color-scheme: dark), (prefers-color-scheme: no-preference)");function d(e,t){var r=document.getElementById(e);r.disabled=!t,r.media=""}function m(){var e=localStorage.getItem("themeOverride");"light"!==e&&"dark"!==e&&(e="browser"===e||r?a.matches?"dark":"light":t),d("dark-theme-style","dark"===e),d("pygments-dark-theme","dark"===e),d("pygments-light-theme","light"===e),"dark"===e?(document.body.classList.add("dark-theme"),document.body.classList.remove("light-theme")):(document.body.classList.add("light-theme"),document.body.classList.remove("dark-theme"))}this.switch=function(e){localStorage.setItem("themeOverride",e),m()};var o=localStorage.getItem("themeOverride");"light"!==o&&"dark"!==o||m(),a.addListener(m)}window.theme=new ThemeManager(document.getElementById("dark-theme-script").dataset); function ThemeManager(e){var t=e.defaultTheme,r="true"===e.enableAutoDetectTheme.toLowerCase(),a=window.matchMedia("light"===t?"(prefers-color-scheme: dark)":"(prefers-color-scheme: dark), (prefers-color-scheme: no-preference)");function d(e,t){e=document.getElementById(e);e.disabled=!t,e.media=""}function m(){var e=localStorage.getItem("themeOverride");d("dark-theme-style","dark"===(e="light"!==e&&"dark"!==e?"browser"===e||r?a.matches?"dark":"light":t:e)),d("pygments-dark-theme","dark"===e),d("pygments-light-theme","light"===e),"dark"===e?(document.body.classList.add("dark-theme"),document.body.classList.remove("light-theme")):(document.body.classList.add("light-theme"),document.body.classList.remove("dark-theme"))}this.switch=function(e){localStorage.setItem("themeOverride",e),m()};e=localStorage.getItem("themeOverride");"light"!==e&&"dark"!==e||m(),a.addListener(m)}window.theme=new ThemeManager(document.getElementById("dark-theme-script").dataset);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,16 +1,19 @@
/*! /*!
* Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/ */
:root, :host {
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; }
@font-face { @font-face {
font-family: 'Font Awesome 5 Free'; font-family: 'Font Awesome 6 Free';
font-style: normal; font-style: normal;
font-weight: 900; font-weight: 900;
font-display: block; font-display: block;
src: url("../webfonts/fa-solid-900.eot"); src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
.fa, .fas,
.fas { .fa-solid {
font-family: 'Font Awesome 5 Free'; font-family: 'Font Awesome 6 Free';
font-weight: 900; } font-weight: 900; }

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

Binary file not shown.

149
static/stork/stork.css Normal file
View file

@ -0,0 +1,149 @@
.stork {
position: relative;
font-family: inherit;
box-sizing: border-box;
font-size: 1em;
padding: unset;
}
.stork *,
.stork *:before,
.stork *:after {
box-sizing: border-box;
}
.stork .stork-input {
width: 100%;
padding: 0.4em 0.8em;
border: none;
font-family: inherit;
}
.stork .stork-progress {
position: absolute;
display: block;
content: "";
bottom: 1px;
height: 1px;
transition: width 0.25s ease, opacity 0.4s ease 0.4s;
}
.stork .stork-output {
position: absolute;
width: 100%;
margin-top: 0.5em;
display: flex;
flex-direction: column;
z-index: 100;
font-weight: 400;
font-family: inherit;
text-align: unset;
padding: unset;
}
.stork a:link,
.stork a:visited {
color: #d9421e;
}
.stork .stork-output-visible {
background: #353434;
border: 1px solid #d9421e;
}
.stork .stork-message {
width: 100%;
padding: 0.5em 1em;
}
.stork .stork-attribution {
width: 100%;
padding: 0.5em 1em;
font-size: 0.8em;
}
.stork .stork-results {
margin: 0;
padding: 0;
width: 100%;
list-style-type: none;
max-height: 25em;
overflow-y: scroll;
}
.stork .stork-result a:link {
padding: 1em;
display: block;
text-decoration: none;
}
.stork .stork-result p {
margin: 0;
}
.stork .stork-title {
padding: unset;
font-weight: bold;
font-size: 0.95em;
margin: 0;
/* Flexbox container for the title and the score, when debugging */
display: flex;
justify-content: space-between;
}
.stork .stork-excerpt {
font-size: 0.8em;
line-height: 1;
margin: 0;
color: var(--text-invert);
padding: unset;
/* Flexbox container for the title and the score, when debugging */
display: flex;
justify-content: space-between;
}
.stork .stork-excerpt:not(:last-of-type) {
margin-bottom: 0.6em;
}
.stork .stork-highlight {
padding: 0 0.1em;
}
.stork .stork-error {
outline: 2px solid #c92a2a;
}
.stork .stork-close-button {
position: absolute;
right: 0;
margin: 0.25em 0.25em;
height: 1.2em;
width: 1.2em;
padding: 0px;
border: none;
font-size: 1em;
color: hsl(0, 0%, 50%);
line-height: 1;
}
.stork .stork-close-button svg {
width: 0.8em;
position: relative;
top: 1px;
}
.stork .stork-close-button:hover {
background: hsla(0, 0%, 78%);
cursor: pointer;
}
.stork .stork-close-button:active {
background: hsla(0, 0%, 65%);
}
.stork-excerpt-container {
padding: 0;
}

2
static/stork/stork.js Normal file

File diff suppressed because one or more lines are too long

BIN
static/stork/stork.wasm Normal file

Binary file not shown.

View file

@ -160,6 +160,11 @@ div.admonition.warning {
background-color: @admonition-warning-bg-color-dark-theme; background-color: @admonition-warning-bg-color-dark-theme;
} }
figure,
div.figure { div.figure {
color: @figure-color-dark-theme; color: @figure-color-dark-theme;
figcaption {
color: @text-color-dark-theme;
}
} }

View file

@ -1 +1 @@
body{background-color:#333;color:#eee}hr{color:#222}aside,hr{background-color:#222}aside{color:#fff}aside form.navbar-search input#tipue_search_input{background-color:#1a1a1a;color:#eee}main nav{border-bottom-color:#222}main .translations a,main nav a{border-color:#222}main article kbd{background-color:#080808;color:#eee}main article blockquote,main article pre{border-left:8px solid #ffffff33}main article :not(pre)>code{background-color:#080808;border-color:#000}main article div#tipue_search_content .tipue_search_result span.tipue_search_content_bold{color:#fff}main article section#isso-thread .auth-section p.input-wrapper input,main article section#isso-thread .notification-section input,main article section#isso-thread div.textarea{background:#1a1a1a;color:#eee}main article section#isso-thread>h4{color:#eee}main article section#isso-thread .isso-postbox>.form-wrapper .preview{background:repeating-linear-gradient(-45deg,#222,#222 10px,#1a1a1a 0,#1a1a1a 20px)}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .author{color:#eee}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .note,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .spacer,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.parent,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.permalink{color:#999}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .note:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .spacer:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.parent:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.permalink:hover{color:#eee}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-footer a:hover{text-shadow:#242121 0 0 1px!important}main footer{border-top-color:#222}div.related-posts{border-color:#222}div.admonition{color:#eee;background-color:#404040}div.admonition.attention,div.admonition.caution{color:#fbda7a;background-color:#4a3900}div.admonition.danger,div.admonition.error{color:#ebadb3;background-color:#28070a}div.admonition.hint{color:#7abaff;background-color:#001933}div.admonition.important,div.admonition.note{color:#a8eab7;background-color:#122b18}div.admonition.tip{color:#7abaff;background-color:#001933}div.admonition.warning{color:#fbda7a;background-color:#4a3900}div.figure{color:#bfbfbf} body{background-color:#333;color:#eee}hr{color:#222}aside,hr{background-color:#222}aside{color:#fff}aside form.navbar-search input#tipue_search_input{background-color:#1a1a1a;color:#eee}main nav{border-bottom-color:#222}main .translations a,main nav a{border-color:#222}main article kbd{background-color:#080808;color:#eee}main article blockquote,main article pre{border-left:8px solid #ffffff33}main article :not(pre)>code{background-color:#080808;border-color:#000}main article div#tipue_search_content .tipue_search_result span.tipue_search_content_bold{color:#fff}main article section#isso-thread .auth-section p.input-wrapper input,main article section#isso-thread .notification-section input,main article section#isso-thread div.textarea{background:#1a1a1a;color:#eee}main article section#isso-thread>h4{color:#eee}main article section#isso-thread .isso-postbox>.form-wrapper .preview{background:repeating-linear-gradient(-45deg,#222,#222 10px,#1a1a1a 0,#1a1a1a 20px)}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .author{color:#eee}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .note,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .spacer,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.parent,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.permalink{color:#999}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .note:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header .spacer:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.parent:hover,main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-header a.permalink:hover{color:#eee}main article section#isso-thread .isso-comment>div.text-wrapper>.isso-comment-footer a:hover{text-shadow:#242121 0 0 1px!important}main footer{border-top-color:#222}div.related-posts{border-color:#222}div.admonition{color:#eee;background-color:#404040}div.admonition.attention,div.admonition.caution{color:#fbda7a;background-color:#4a3900}div.admonition.danger,div.admonition.error{color:#ebadb3;background-color:#28070a}div.admonition.hint{color:#7abaff;background-color:#001933}div.admonition.important,div.admonition.note{color:#a8eab7;background-color:#122b18}div.admonition.tip{color:#7abaff;background-color:#001933}div.admonition.warning{color:#fbda7a;background-color:#4a3900}div.figure,figure{color:#bfbfbf}div.figure figcaption,figure figcaption{color:#eee}

View file

@ -276,6 +276,23 @@ main {
section#isso-thread .auth-section .input-wrapper { section#isso-thread .auth-section .input-wrapper {
margin-right: 5px; margin-right: 5px;
} }
.toc {
margin-top: 2em;
.toctitle {
font-size: 1.3em
}
ul {
list-style: none;
padding-inline-start: 1rem;
}
> ul {
padding: 0;
}
}
} }
footer { footer {
@ -471,7 +488,7 @@ ul.social {
background-color: @github-bg-color; background-color: @github-bg-color;
} }
a.sc-envelope { a.sc-at, a.sc-mailbox, a.sc-envelope {
background-color: @email-bg-color; background-color: @email-bg-color;
} }
@ -695,10 +712,17 @@ div.admonition.warning {
background-color: @admonition-warning-bg-color; background-color: @admonition-warning-bg-color;
} }
figure,
div.figure { div.figure {
font-size: 90%; font-size: 90%;
color: @figure-color; color: @figure-color;
figcaption {
margin-top: 0.5em;
text-align: center;
color: @text-color;
}
img { img {
vertical-align: middle; vertical-align: middle;
line-height: 1; line-height: 1;
@ -719,14 +743,43 @@ div.figure {
} }
} }
figure.align-left,
div.figure.align-left { div.figure.align-left {
text-align: left; text-align: left;
} }
figure.align-center,
div.figure.align-center { div.figure.align-center {
text-align: center; text-align: center;
} }
figure.align-right,
div.figure.align-right { div.figure.align-right {
text-align: right; text-align: right;
} }
.github-corner:hover .octo-arm {
animation:octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,100% {
transform:rotate(0);
}
20%,60% {
transform:rotate(-25deg);
}
40%,80% {
transform:rotate(10deg);
}
}
@media (max-width:500px) {
.github-corner:hover .octo-arm {
animation:none;
}
.github-corner .octo-arm{
animation:octocat-wave 560ms ease-in-out;
}
}

File diff suppressed because one or more lines are too long

View file

@ -83,6 +83,29 @@
<div class="addthis_relatedposts_inline"></div> <div class="addthis_relatedposts_inline"></div>
{% endif %} {% endif %}
{% if article.series %}
<div class="related-posts">
{% set text = SERIES_TEXT|default('Part %(index)s of the %(name)s series') %}
<h4>{{ text|format(index=article.series.index, name=article.series.name) }}</h4>
{% if article.series.all_previous %}
<h5>Previous articles</h5>
<ul>
{% for article in article.series.all_previous %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% if article.series.all_next %}
<h5>Next articles</h5>
<ul>
{% for article in article.series.all_next %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endif %}
{% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.article_bottom %} {% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.article_bottom %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle ads-responsive" <ins class="adsbygoogle ads-responsive"

View file

@ -12,9 +12,9 @@
<meta name="HandheldFriendly" content="True" /> <meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
{% if page in hidden_pages %} {% if page in hidden_pages %}
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
{% else %} {% else %}
<meta name="robots" content="{{ ROBOTS }}" /> <meta name="robots" content="{{ ROBOTS }}" />
{% endif %} {% endif %}
{% if USE_GOOGLE_FONTS != False %} {% if USE_GOOGLE_FONTS != False %}
@ -69,11 +69,18 @@
href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/pygments/{{ PYGMENTS_STYLE|default('github') }}.min.css"> href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/pygments/{{ PYGMENTS_STYLE|default('github') }}.min.css">
{% endif %} {% endif %}
{% if PLUGINS and 'tipue_search' in PLUGINS %} {% if PLUGINS and ('tipue_search' in PLUGINS or 'pelican.plugins.tipue_search' in PLUGINS) %}
{% if USE_GOOGLE_FONTS != False %} {% if USE_GOOGLE_FONTS != False %}
<link href="https://fonts.googleapis.com/css?family=Merriweather:300,400|Open+Sans" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Merriweather:300,400|Open+Sans" rel="stylesheet">
{% endif %} {% endif %}
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/tipuesearch/tipuesearch.min.css" /> <link rel="stylesheet"
href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/tipuesearch/tipuesearch.min.css" />
{% endif %}
{% if 'pelican.plugins.search' in PLUGINS %}
<link rel="stylesheet"
type="text/css"
href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/stork/stork.css" />
{% endif %} {% endif %}
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/font-awesome/css/fontawesome.css"> <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/font-awesome/css/fontawesome.css">
@ -81,41 +88,17 @@
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/font-awesome/css/solid.css"> <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/font-awesome/css/solid.css">
{% if CUSTOM_CSS %} {% if CUSTOM_CSS %}
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/{{ CUSTOM_CSS }}"> <link rel="stylesheet" type="text/css" href="{% if main_siteurl is defined %}{{ main_site }}{% else %}{{ SITEURL }}{% endif %}/{{ CUSTOM_CSS }}">
{% endif %} {% endif %}
{% if FEED_ALL_ATOM %} {% include "partial/icon.html" %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom">
{% endif %}
{% if FEED_ALL_RSS %} {% include "partial/color.html" %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS">
{% endif %}
{% if FAVICON %} {% include "partial/feed.html" %}
<link rel="shortcut icon" href="{{ FAVICON }}" type="image/x-icon">
<link rel="icon" href="{{ FAVICON }}" type="image/x-icon">
{% endif %}
{% if GOOGLE_ANALYTICS %} {% include "partial/ga.html" %}
{% include "partial/ga.html" %} {% include "partial/ggst.html" %}
{% endif %}
{% if GOOGLE_GLOBAL_SITE_TAG %}
{% include "partial/ggst.html" %}
{% endif %}
{% if BROWSER_COLOR %}
<!-- Chrome, Firefox OS and Opera -->
<meta name="theme-color" content="{{ BROWSER_COLOR }}">
<!-- Windows Phone -->
<meta name="msapplication-navbutton-color" content="{{ BROWSER_COLOR }}">
<!-- iOS Safari -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- Microsoft EDGE -->
<meta name="msapplication-TileColor" content="{{ BROWSER_COLOR }}">
{% endif %}
{% if not PLUGINS or 'seo' not in PLUGINS %} {% if not PLUGINS or 'seo' not in PLUGINS %}
{% if REL_CANONICAL %} {% if REL_CANONICAL %}
@ -150,98 +133,15 @@
}); });
</script> </script>
{% endif %} {% endif %}
{% if GOOGLE_TAG_MANAGER %}
{% include "partial/gtm.html" %} {% include "partial/gtm.html" %}
{% endif %} {% include "partial/clarity.html" %}
{% if MICROSOFT_CLARITY %}
{% include "partial/clarity.html" %}
{% endif %}
</head> </head>
<body {% if not THEME_COLOR_AUTO_DETECT_BROWSER_PREFERENCE %}class="{{ THEME_COLOR|default('light') }}-theme"{% endif %}> <body {% if not THEME_COLOR_AUTO_DETECT_BROWSER_PREFERENCE %}class="{{ THEME_COLOR|default('light') }}-theme"{% endif %}>
{% if GOOGLE_TAG_MANAGER %} {% include "partial/gtm_noscript.html" %}
{% include "partial/gtm_noscript.html" %}
{% endif %}
<aside>
<div>
<a href="{{ SITEURL }}/">
{% if SITELOGO %}
<img src="{{ SITELOGO }}" alt="{{ SITETITLE }}" title="{{ SITETITLE }}">
{% else %}
<img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/img/profile.png" alt="{{ SITETITLE }}" title="{{ SITETITLE }}">
{% endif %}
</a>
<h1> {% include "partial/sidebar.html" %}
<a href="{{ SITEURL }}/">{{ SITETITLE }}</a>
</h1>
{% if SITESUBTITLE %}<p>{{ SITESUBTITLE }}</p>{% endif %}
{% if PLUGINS and 'tipue_search' in PLUGINS %}
<form class="navbar-search" action="{{ SITEURL }}/search.html" role="search">
<input type="text" name="q" id="tipue_search_input" placeholder="{{ _('Search...') }}">
</form>
{% endif %}
{% if (pages and DISPLAY_PAGES_ON_MENU) or LINKS %}
<nav>
<ul class="list">
{# Open links in new window depending on the LINKS_IN_NEW_TAB setting #}
{% macro get_target(link) -%}
{%- if LINKS_IN_NEW_TAB in ('all', true) -%}
_blank
{%- elif LINKS_IN_NEW_TAB == "external" and not link.startswith("/") and not link.startswith(SITEURL) -%}
_blank
{%- else -%}
_self
{%- endif -%}
{%- endmacro %}
{% if PAGES_SORT_ATTRIBUTE -%}
{% set pages = pages|sort(attribute=PAGES_SORT_ATTRIBUTE) %}
{%- endif %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for page in pages %}
<li>
<a target="{{ get_target(SITEURL) }}"
href="{{ SITEURL }}/{{ page.url }}{% if not DISABLE_URL_HASH %}#{{ page.slug }}{% endif %}">
{{ page.title }}
</a>
</li>
{% endfor %}
{% endif %}
{% for name, link in LINKS %}
<li>
<a target="{{ get_target(link) }}" href="{{ link }}" >{{ name }}</a>
</li>
{% endfor %}
</ul>
</nav>
{% endif %}
<ul class="social">
{% for name, link in SOCIAL %}
<li>
<a {% if name == 'mastodon' %}rel="me"{% endif %} class="sc-{{ name }}" href="{{ link }}" target="_blank">
<i class="{% if name in ['envelope', 'rss'] %}fas{% else %}fab{% endif %} fa-{{ name }}"></i>
</a>
</li>
{% endfor %}
</ul>
</div>
{% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.aside %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle ads-aside"
data-ad-client="{{ GOOGLE_ADSENSE.ca_id }}"
data-ad-slot="{{ GOOGLE_ADSENSE.ads.aside }}"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
{% endif %}
</aside>
<main> <main>
{% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.main_menu %} {% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.main_menu %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
@ -253,53 +153,20 @@
</script> </script>
{% endif %} {% endif %}
{% if MAIN_MENU %} {% include "partial/nav.html" %}
<nav>
<a href="{{ SITEURL }}/">{{ _('Home') }}</a>
{% for title, link in MENUITEMS %}
<a href="{{ link }}">{{ _(title) }}</a>
{% endfor %}
{% if FEED_ALL_ATOM %}
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">{{ _('Atom') }}</a>
{% endif %}
{% if FEED_ALL_RSS %}
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">{{ _('RSS') }}</a>
{% endif %}
</nav>
{% endif %}
{% block content %} {% block content %}
{% endblock %} {% endblock %}
<footer> {% include "partial/footer.html" %}
{% if CC_LICENSE %}
{% include "partial/cc_license.html" %}
{% else %}
{% include "partial/copyright.html" %}
{% endif %}
</footer>
</main> </main>
{% if GUAGES %}
{% include "partial/guages.html" %}
{% endif %}
{% if ADD_THIS_ID %}
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid={{ ADD_THIS_ID }}" async="async"></script>
{% endif %}
{% if (PIWIK_URL and PIWIK_SITE_ID) or (MATOMO_URL and MATOMO_SITE_ID) %}
{% include "partial/matomo.html" %}
{% endif %}
{% include "partial/jsonld.html" %} {% include "partial/jsonld.html" %}
{% include "partial/guages.html" %}
{% if GITHUB_CORNER_URL %} {% include "partial/addthis.html" %}
{% include 'partial/github.html' %} {% include "partial/matomo.html" %}
{% endif %} {% include 'partial/github.html' %}
{% include 'partial/stork.html' %}
{% block additional_js %}{% endblock %} {% block additional_js %}{% endblock %}
</body> </body>

View file

@ -11,7 +11,7 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block title %} &ndash; {{ page.title }}{% endblock %} {% block title %} &ndash; {{ page.title|striptags|escape }}{% endblock %}
{% block content %} {% block content %}
<article class="single"> <article class="single">

View file

@ -0,0 +1,3 @@
{% if ADD_THIS_ID %}
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid={{ ADD_THIS_ID }}" async="async"></script>
{% endif %}

View file

@ -1,7 +1,9 @@
{% if MICROSOFT_CLARITY %}
<script type="text/javascript"> <script type="text/javascript">
(function(c,l,a,r,i,t,y){ (function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "{{ MICROSOFT_CLARITY }}"); })(window, document, "clarity", "script", "{{ MICROSOFT_CLARITY }}");
</script> </script>
{% endif %}

View file

@ -0,0 +1,11 @@
{% if BROWSER_COLOR %}
<!-- Chrome, Firefox OS and Opera -->
<meta name="theme-color" content="{{ BROWSER_COLOR }}">
<!-- Windows Phone -->
<meta name="msapplication-navbutton-color" content="{{ BROWSER_COLOR }}">
<!-- iOS Safari -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- Microsoft EDGE -->
<meta name="msapplication-TileColor" content="{{ BROWSER_COLOR }}">
{% endif %}

View file

@ -0,0 +1,7 @@
{% if FEED_ALL_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom">
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS">
{% endif %}

View file

@ -0,0 +1,7 @@
<footer>
{% if CC_LICENSE %}
{% include "partial/cc_license.html" %}
{% else %}
{% include "partial/copyright.html" %}
{% endif %}
</footer>

View file

@ -1,4 +1,4 @@
<!-- Google Analytics --> {% if GOOGLE_ANALYTICS %}
<script type="text/javascript"> <script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@ -8,4 +8,4 @@
ga('create', '{{ GOOGLE_ANALYTICS }}', 'auto'); ga('create', '{{ GOOGLE_ANALYTICS }}', 'auto');
ga('send', 'pageview'); ga('send', 'pageview');
</script> </script>
<!-- End Google Analytics --> {% endif %}

View file

@ -1,4 +1,4 @@
<!-- Global site tag (gtag.js) - Google Analytics --> {% if GOOGLE_GLOBAL_SITE_TAG %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ GOOGLE_GLOBAL_SITE_TAG }}"></script> <script async src="https://www.googletagmanager.com/gtag/js?id={{ GOOGLE_GLOBAL_SITE_TAG }}"></script>
<script> <script>
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
@ -7,4 +7,4 @@
gtag('config', '{{ GOOGLE_GLOBAL_SITE_TAG }}'); gtag('config', '{{ GOOGLE_GLOBAL_SITE_TAG }}');
</script> </script>
<!-- End of Global site tag (gtag.js) - Google Analytics --> {% endif %}

View file

@ -1,4 +1,5 @@
<a href="{{ GITHUB_CORNER_URL }}" class="github-corner" aria-label="View source on Github"> {% if GITHUB_CORNER_URL %}
<a href="{{ GITHUB_CORNER_URL }}" target="_blank" class="github-corner" aria-label="View source on Github">
<svg width="80" <svg width="80"
height="80" height="80"
viewBox="0 0 250 250" viewBox="0 0 250 250"
@ -16,4 +17,4 @@
</path> </path>
</svg> </svg>
</a> </a>
<style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> {% endif %}

View file

@ -1,4 +1,4 @@
<!-- Google Tag Manager --> {% if GOOGLE_TAG_MANAGER %}
<script> <script>
(function(w,d,s,l,i){ (function(w,d,s,l,i){
w[l]=w[l]||[]; w[l]=w[l]||[];
@ -9,4 +9,4 @@
f.parentNode.insertBefore(j,f); f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ GOOGLE_TAG_MANAGER }}'); })(window,document,'script','dataLayer','{{ GOOGLE_TAG_MANAGER }}');
</script> </script>
<!-- End Google Tag Manager --> {% endif %}

View file

@ -1,5 +1,5 @@
<!-- Google Tag Manager --> {% if GOOGLE_TAG_MANAGER %}
<noscript> <noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id={{ GOOGLE_TAG_MANAGER }}" height="0" width="0" style="display:none;visibility:hidden"></iframe> <iframe src="https://www.googletagmanager.com/ns.html?id={{ GOOGLE_TAG_MANAGER }}" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript> </noscript>
<!-- End Google Tag Manager --> {% endif %}

View file

@ -1,4 +1,4 @@
<!-- Gauges --> {% if GUAGES %}
<script type="text/javascript"> <script type="text/javascript">
var _gauges = _gauges || []; var _gauges = _gauges || [];
(function() { (function() {
@ -13,4 +13,5 @@
s.parentNode.insertBefore(t, s); s.parentNode.insertBefore(t, s);
})(); })();
</script> </script>
<!-- End Gauges --> {% endif %}

View file

@ -0,0 +1,4 @@
{% if FAVICON %}
<link rel="shortcut icon" href="{{ FAVICON }}" type="image/x-icon">
<link rel="icon" href="{{ FAVICON }}" type="image/x-icon">
{% endif %}

View file

@ -1,4 +1,4 @@
<!-- Matomo --> {% if (PIWIK_URL and PIWIK_SITE_ID) or (MATOMO_URL and MATOMO_SITE_ID) %}
<script type="text/javascript"> <script type="text/javascript">
var _paq = window._paq || []; var _paq = window._paq || [];
_paq.push(['trackPageView']); _paq.push(['trackPageView']);
@ -12,4 +12,4 @@
})(); })();
</script> </script>
<noscript><p><img src="https://{{ MATOMO_URL or PIWIK_URL }}/matomo.php?idsite={{ MATOMO_SITE_ID or PIWIK_SITE_ID }}&rec=1" style="border:0" alt="" /></p></noscript> <noscript><p><img src="https://{{ MATOMO_URL or PIWIK_URL }}/matomo.php?idsite={{ MATOMO_SITE_ID or PIWIK_SITE_ID }}&rec=1" style="border:0" alt="" /></p></noscript>
<!-- End Matomo Code --> {% endif %}

View file

@ -0,0 +1,17 @@
{% if MAIN_MENU %}
<nav>
<a href="{{ SITEURL }}/">{{ _('Home') }}</a>
{% for title, link in MENUITEMS %}
<a href="{{ link }}">{{ _(title) }}</a>
{% endfor %}
{% if FEED_ALL_ATOM %}
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">{{ _('Atom') }}</a>
{% endif %}
{% if FEED_ALL_RSS %}
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">{{ _('RSS') }}</a>
{% endif %}
</nav>
{% endif %}

View file

@ -0,0 +1,97 @@
<aside>
<div>
<a href="{{ SITEURL }}/">
{% if SITELOGO %}
<img src="{{ SITELOGO }}" alt="{{ SITETITLE }}" title="{{ SITETITLE }}">
{% else %}
<img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/img/profile.png" alt="{{ SITETITLE }}" title="{{ SITETITLE }}">
{% endif %}
</a>
<h1>
<a href="{{ SITEURL }}/">{{ SITETITLE }}</a>
</h1>
{% if SITESUBTITLE %}
<p>{{ SITESUBTITLE }}</p>
{% endif %}
{% if PLUGINS %}
{% if ('tipue_search' in PLUGINS or 'pelican.plugins.tipue_search' in PLUGINS) %}
<form class="navbar-search" action="{{ SITEURL }}/search.html" role="search">
<input type="text" name="q" id="tipue_search_input" placeholder="{{ _('Search...') }}">
</form>
{% elif 'pelican.plugins.search' in PLUGINS %}
<div class="stork">
<input class="stork-input" type="text" autocomplete="off" name="q" data-stork="sitesearch" placeholder="{{ _('Search...') }}"/>
<div class="stork-output" data-stork="sitesearch-output"></div>
</div>
{% endif %}
{% endif %}
{% if (pages and DISPLAY_PAGES_ON_MENU) or LINKS %}
<nav>
<ul class="list">
{# Open links in new window depending on the LINKS_IN_NEW_TAB setting #}
{% macro get_target(link) -%}
{%- if LINKS_IN_NEW_TAB in ('all', true) -%}
_blank
{%- elif LINKS_IN_NEW_TAB == "external" and not link.startswith("/") and not link.startswith(SITEURL) -%}
_blank
{%- else -%}
_self
{%- endif -%}
{%- endmacro %}
{% if PAGES_SORT_ATTRIBUTE -%}
{% set pages = pages|sort(attribute=PAGES_SORT_ATTRIBUTE) %}
{%- endif %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for page in pages %}
<li>
<a target="{{ get_target(SITEURL) }}"
href="{{ SITEURL }}/{{ page.url }}{% if not DISABLE_URL_HASH %}#{{ page.slug }}{% endif %}">
{{ page.title }}
</a>
</li>
{% endfor %}
{% endif %}
{% for name, link in LINKS %}
<li>
<a target="{{ get_target(link) }}" href="{{ link }}" >{{ name }}</a>
</li>
{% endfor %}
</ul>
</nav>
{% endif %}
{% if SOCIAL %}
{% set solid = ['at', 'envelope', 'mailbox', 'rss'] %}
{% set relme = ['at', 'envelope', 'mailbox', 'mastodon'] %}
<ul class="social">
{% for name, link in SOCIAL %}
<li>
<a class="sc-{{ name }}"
{% if name in relme %}rel="me"{% endif %}
href="{{ link }}"
target="_blank">
<i class="{% if name in solid %}fa-solid{% else %}fa-brands{% endif %} fa-{{ name }}"></i>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% if GOOGLE_ADSENSE and GOOGLE_ADSENSE.ads.aside %}
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle ads-aside"
data-ad-client="{{ GOOGLE_ADSENSE.ca_id }}"
data-ad-slot="{{ GOOGLE_ADSENSE.ads.aside }}"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
{% endif %}
</aside>

View file

@ -0,0 +1,13 @@
{% if 'pelican.plugins.search' in PLUGINS %}
{% if STORK_VERSION %}
<script src="https://files.stork-search.net/releases/v{{ STORK_VERSION }}/stork.js"></script>
<script>
stork.register("sitesearch", "{{ SITEURL }}/search-index.st", {showProgress: false});
</script>
{% else %}
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/stork/stork.js"></script>
<script>
stork.register("sitesearch", "{{ SITEURL }}/search-index.st", {showProgress: false});
</script>
{% endif %}
{% endif %}

View file

@ -1,5 +1,6 @@
{% if PLUGINS and 'tipue_search' in PLUGINS %} {% extends 'base.html' %} {% {% if PLUGINS and ('tipue_search' in PLUGINS or 'pelican.plugins.tipue_search' in PLUGINS) %}
block title %}{{ _('Search') }} - {{ SITENAME|striptags }}{% endblock title %} {% extends 'base.html' %}
{% block title %}{{ _('Search') }} - {{ SITENAME|striptags }}{% endblock title %}
{% block content %} {% block content %}
<article class="single"> <article class="single">

16
tox.ini Normal file
View file

@ -0,0 +1,16 @@
[tox]
envlist = py{36,37,38,39}
skipsdist = True
[gh-actions]
python =
3.6: py36
3.7: py37
3.8: py38
3.9: py39
[testenv]
deps =
-r docs/requirements.txt
commands =
pelican -s docs/pelicanconf.py

View file

@ -1,4 +1,4 @@
# Czech translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -6,6 +6,7 @@
# Translators: # Translators:
# Honza Stínovlas <stinovlas@gmail.com>, 2018 # Honza Stínovlas <stinovlas@gmail.com>, 2018
# Ivana Holm <akarienta@gmail.com>, 2018 # Ivana Holm <akarienta@gmail.com>, 2018
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,13 +15,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Ivana Holm <akarienta@gmail.com>, 2018\n" "Last-Translator: Ivana Holm <akarienta@gmail.com>, 2018\n"
"Language: cs\n"
"Language-Team: Czech (https://www.transifex.com/alexandrevicenzi/teams/66327/cs/)\n" "Language-Team: Czech (https://www.transifex.com/alexandrevicenzi/teams/66327/cs/)\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3\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"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -133,4 +134,3 @@ msgstr "Starší příspěvky"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Novější příspěvky" msgstr "Novější příspěvky"

View file

@ -1,11 +1,13 @@
# German translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Tom Teichler <tom@dummerdelfin.de>, 2019 # Tom Teichler <tom@dummerdelfin.de>, 2019
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2022
# Lioman, 2022
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,14 +15,14 @@ msgstr ""
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Lioman, 2022\n"
"Language: de\n"
"Language-Team: German (https://www.transifex.com/alexandrevicenzi/teams/66327/de/)\n" "Language-Team: German (https://www.transifex.com/alexandrevicenzi/teams/66327/de/)\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"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -111,12 +113,12 @@ msgstr "Bitte JavaScript aktivieren um die Kommentare zu sehen."
#: templates/partial/flex.html:3 #: templates/partial/flex.html:3
#, python-format #, python-format
msgid "Built with %(pelican_url)s using %(flex_url)s theme" msgid "Built with %(pelican_url)s using %(flex_url)s theme"
msgstr "Gebaut mit %(pelican_url)s und dem %(flex_url)stheme" msgstr "Gebaut mit %(pelican_url)s und dem %(flex_url)s theme"
#: templates/partial/flex.html:10 #: templates/partial/flex.html:10
#, python-format #, python-format
msgid "Switch to the %(dark_url)s | %(light_url)s | %(browser_url)s theme" msgid "Switch to the %(dark_url)s | %(light_url)s | %(browser_url)s theme"
msgstr "" msgstr "Zu %(dark_url)s | %(light_url)s | %(browser_url)s Thema wechseln"
#: templates/partial/neighbors.html:5 #: templates/partial/neighbors.html:5
msgid "Previous Post" msgid "Previous Post"
@ -133,4 +135,3 @@ msgstr "&Auml;ltere Artikel"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Neuere Artikel" msgstr "Neuere Artikel"

View file

@ -1,4 +1,4 @@
# Spanish translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -6,6 +6,7 @@
# Translators: # Translators:
# Juan A. S. <okelet@gmail.com>, 2016 # Juan A. S. <okelet@gmail.com>, 2016
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,13 +15,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n"
"Language: es\n"
"Language-Team: Spanish (https://www.transifex.com/alexandrevicenzi/teams/66327/es/)\n" "Language-Team: Spanish (https://www.transifex.com/alexandrevicenzi/teams/66327/es/)\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"
"Language: es\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -133,4 +134,3 @@ msgstr "Artículos antiguos"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Artículos recientes" msgstr "Artículos recientes"

View file

@ -1,4 +1,4 @@
# Spanish (Spain) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -6,6 +6,7 @@
# Translators: # Translators:
# Juan A. S. <okelet@gmail.com>, 2016 # Juan A. S. <okelet@gmail.com>, 2016
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,13 +15,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n"
"Language: es_ES\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/alexandrevicenzi/teams/66327/es_ES/)\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/alexandrevicenzi/teams/66327/es_ES/)\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"
"Language: es_ES\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -133,4 +134,3 @@ msgstr "Artículos antiguos"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Artículos recientes" msgstr "Artículos recientes"

View file

@ -1,10 +1,11 @@
# Estonian translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Jüri Lillemets <lillemetsj@gmail.com>, 2017 # Jüri Lillemets <lillemetsj@gmail.com>, 2017
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Jüri Lillemets <lillemetsj@gmail.com>, 2017\n" "Last-Translator: Jüri Lillemets <lillemetsj@gmail.com>, 2017\n"
"Language: et\n"
"Language-Team: Estonian (https://www.transifex.com/alexandrevicenzi/teams/66327/et/)\n" "Language-Team: Estonian (https://www.transifex.com/alexandrevicenzi/teams/66327/et/)\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"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Vanemad artiklid"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Uuemad artiklid" msgstr "Uuemad artiklid"

View file

@ -1,10 +1,11 @@
# Persian (Iran) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# AmirMahmood <amma4ww@gmail.com>, 2017 # AmirMahmood <amma4ww@gmail.com>, 2017
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: AmirMahmood <amma4ww@gmail.com>, 2017\n" "Last-Translator: AmirMahmood <amma4ww@gmail.com>, 2017\n"
"Language: fa_IR\n"
"Language-Team: Persian (Iran) (https://www.transifex.com/alexandrevicenzi/teams/66327/fa_IR/)\n" "Language-Team: Persian (Iran) (https://www.transifex.com/alexandrevicenzi/teams/66327/fa_IR/)\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"
"Language: fa_IR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "نوشته‌های کهنه‌تر"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "نوشته‌های تازه‌تر" msgstr "نوشته‌های تازه‌تر"

View file

@ -1,10 +1,11 @@
# Finnish (Finland) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# i r, 2021 # i r, 2021
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: i r, 2021\n" "Last-Translator: i r, 2021\n"
"Language: fi_FI\n"
"Language-Team: Finnish (Finland) (https://www.transifex.com/alexandrevicenzi/teams/66327/fi_FI/)\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/alexandrevicenzi/teams/66327/fi_FI/)\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"
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -110,7 +111,8 @@ msgstr "Ole hyvä ja laita JavaScript päälle nähdäksesi kommentit."
#: templates/partial/flex.html:3 #: templates/partial/flex.html:3
#, python-format #, python-format
msgid "Built with %(pelican_url)s using %(flex_url)s theme" msgid "Built with %(pelican_url)s using %(flex_url)s theme"
msgstr "Rakennettu %(pelican_url)s-generaattoria ja %(flex_url)s-teemaa käyttäen" msgstr ""
"Rakennettu %(pelican_url)s-generaattoria ja %(flex_url)s-teemaa käyttäen"
#: templates/partial/flex.html:10 #: templates/partial/flex.html:10
#, python-format #, python-format
@ -132,4 +134,3 @@ msgstr "Vanhemmat postaukset"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Uudemmat postaukset" msgstr "Uudemmat postaukset"

View file

@ -1,4 +1,4 @@
# French translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -7,6 +7,8 @@
# François Schmidts <francois.schmidts@gmail.com>, 2016 # François Schmidts <francois.schmidts@gmail.com>, 2016
# Axel Haustant, 2018 # Axel Haustant, 2018
# taggaddaaaa <taggaddaaaa@outlook.com>, 2019 # taggaddaaaa <taggaddaaaa@outlook.com>, 2019
# Charles Brunet <charles@cbrunet.net>, 2021
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,14 +16,14 @@ msgstr ""
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: taggaddaaaa <taggaddaaaa@outlook.com>, 2019\n" "Last-Translator: Charles Brunet <charles@cbrunet.net>, 2021\n"
"Language: fr\n"
"Language-Team: French (https://www.transifex.com/alexandrevicenzi/teams/66327/fr/)\n" "Language-Team: French (https://www.transifex.com/alexandrevicenzi/teams/66327/fr/)\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"
"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -36,7 +38,7 @@ msgstr "Posté le %(when)s dans %(category)s"
#: templates/article.html:34 templates/index.html:32 #: templates/article.html:34 templates/index.html:32
#, python-format #, python-format
msgid "%(minutes)s min read" msgid "%(minutes)s min read"
msgstr "" msgstr "lecture de %(minutes)s min"
#: templates/article.html:64 #: templates/article.html:64
msgid "Like this article? Share it with your friends!" msgid "Like this article? Share it with your friends!"
@ -57,7 +59,7 @@ msgstr "Auteurs"
#: templates/base.html:161 #: templates/base.html:161
msgid "Search..." msgid "Search..."
msgstr "" msgstr "Rechercher…"
#: templates/base.html:237 #: templates/base.html:237
msgid "Home" msgid "Home"
@ -90,11 +92,11 @@ msgstr "Continuer à lire"
#: templates/search.html:3 #: templates/search.html:3
msgid "Search" msgid "Search"
msgstr "" msgstr "Recherche"
#: templates/search.html:17 #: templates/search.html:17
msgid "Search Results" msgid "Search Results"
msgstr "" msgstr "Résultats"
#: templates/tag.html:2 #: templates/tag.html:2
#, python-format #, python-format
@ -117,7 +119,7 @@ msgstr "Construit avec %(pelican_url)s utilisant le thème %(flex_url)s"
#: templates/partial/flex.html:10 #: templates/partial/flex.html:10
#, python-format #, python-format
msgid "Switch to the %(dark_url)s | %(light_url)s | %(browser_url)s theme" msgid "Switch to the %(dark_url)s | %(light_url)s | %(browser_url)s theme"
msgstr "" msgstr "Changer pour le thème %(dark_url)s | %(light_url)s | %(browser_url)s"
#: templates/partial/neighbors.html:5 #: templates/partial/neighbors.html:5
msgid "Previous Post" msgid "Previous Post"
@ -134,4 +136,3 @@ msgstr "Anciens Posts"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Nouveaux Posts" msgstr "Nouveaux Posts"

View file

@ -1,10 +1,11 @@
# Hungarian (Hungary) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Molnár Dénes <denes.molnar2@stud.uni-corvinus.hu>, 2017 # Molnár Dénes <denes.molnar2@stud.uni-corvinus.hu>, 2017
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Molnár Dénes <denes.molnar2@stud.uni-corvinus.hu>, 2017\n" "Last-Translator: Molnár Dénes <denes.molnar2@stud.uni-corvinus.hu>, 2017\n"
"Language: hu_HU\n"
"Language-Team: Hungarian (Hungary) (https://www.transifex.com/alexandrevicenzi/teams/66327/hu_HU/)\n" "Language-Team: Hungarian (Hungary) (https://www.transifex.com/alexandrevicenzi/teams/66327/hu_HU/)\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"
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Korábbi bejegyzések"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Újabb bejegyzések" msgstr "Újabb bejegyzések"

View file

@ -1,10 +1,11 @@
# Indonesian translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Yongkie Wiyogo <yongkie.wiyogo@gmail.com>, 2018 # Yongkie Wiyogo <yongkie.wiyogo@gmail.com>, 2018
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Yongkie Wiyogo <yongkie.wiyogo@gmail.com>, 2018\n" "Last-Translator: Yongkie Wiyogo <yongkie.wiyogo@gmail.com>, 2018\n"
"Language: id\n"
"Language-Team: Indonesian (https://www.transifex.com/alexandrevicenzi/teams/66327/id/)\n" "Language-Team: Indonesian (https://www.transifex.com/alexandrevicenzi/teams/66327/id/)\n"
"Plural-Forms: nplurals=1; plural=0\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"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Tulisan lama"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Tulisan baru" msgstr "Tulisan baru"

View file

@ -1,4 +1,4 @@
# Italian translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -6,6 +6,7 @@
# Translators: # Translators:
# Gareth jax <garethjax@gmail.com>, 2016 # Gareth jax <garethjax@gmail.com>, 2016
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,13 +15,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n"
"Language: it\n"
"Language-Team: Italian (https://www.transifex.com/alexandrevicenzi/teams/66327/it/)\n" "Language-Team: Italian (https://www.transifex.com/alexandrevicenzi/teams/66327/it/)\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"
"Language: it\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -133,4 +134,3 @@ msgstr "Post più vecchi"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Post più recenti" msgstr "Post più recenti"

View file

@ -1,10 +1,11 @@
# Dutch (Netherlands) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# rbos, 2017 # rbos, 2017
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: rbos, 2017\n" "Last-Translator: rbos, 2017\n"
"Language: nl_NL\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/alexandrevicenzi/teams/66327/nl_NL/)\n" "Language-Team: Dutch (Netherlands) (https://www.transifex.com/alexandrevicenzi/teams/66327/nl_NL/)\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"
"Language: nl_NL\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Eerder verschenen artikelen"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Later verschenen artikelen" msgstr "Later verschenen artikelen"

View file

@ -1,10 +1,11 @@
# Polish (Poland) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Justyna Pawlata <justyna.pxw@gmail.com>, 2019 # Justyna Pawlata <justyna.pxw@gmail.com>, 2019
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Justyna Pawlata <justyna.pxw@gmail.com>, 2019\n" "Last-Translator: Justyna Pawlata <justyna.pxw@gmail.com>, 2019\n"
"Language: pl_PL\n"
"Language-Team: Polish (Poland) (https://www.transifex.com/alexandrevicenzi/teams/66327/pl_PL/)\n" "Language-Team: Polish (Poland) (https://www.transifex.com/alexandrevicenzi/teams/66327/pl_PL/)\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3)\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"
"Language: pl_PL\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Starsze wpisy"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Nowsze wpisy" msgstr "Nowsze wpisy"

View file

@ -1,4 +1,4 @@
# Portuguese translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -10,14 +10,13 @@ msgstr ""
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: pt\n"
"Language-Team: Portuguese (https://www.transifex.com/alexandrevicenzi/teams/66327/pt/)\n" "Language-Team: Portuguese (https://www.transifex.com/alexandrevicenzi/teams/66327/pt/)\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"
"Language: pt\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -130,4 +129,3 @@ msgstr ""
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "" msgstr ""

View file

@ -1,10 +1,11 @@
# Portuguese (Brazil) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n"
"Language: pt_BR\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/alexandrevicenzi/teams/66327/pt_BR/)\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/alexandrevicenzi/teams/66327/pt_BR/)\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"
"Language: pt_BR\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Anteriores"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Próximos" msgstr "Próximos"

View file

@ -1,10 +1,11 @@
# Portuguese (Portugal) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Alexandre Vicenzi <transifex@alxd.me>, 2020 # Alexandre Vicenzi <transifex@alxd.me>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n" "Last-Translator: Alexandre Vicenzi <transifex@alxd.me>, 2020\n"
"Language: pt_PT\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/alexandrevicenzi/teams/66327/pt_PT/)\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/alexandrevicenzi/teams/66327/pt_PT/)\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"
"Language: pt_PT\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Artigos antigos"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Artigos novos" msgstr "Artigos novos"

View file

@ -1,4 +1,4 @@
# Romanian (Romania) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -10,14 +10,13 @@ msgstr ""
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ro_RO\n"
"Language-Team: Romanian (Romania) (https://www.transifex.com/alexandrevicenzi/teams/66327/ro_RO/)\n" "Language-Team: Romanian (Romania) (https://www.transifex.com/alexandrevicenzi/teams/66327/ro_RO/)\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2: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"
"Language: ro_RO\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -130,4 +129,3 @@ msgstr ""
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "" msgstr ""

View file

@ -1,10 +1,11 @@
# Russian translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# Roman Saldygashev <sldg.roman@gmail.com>, 2016 # Roman Saldygashev <sldg.roman@gmail.com>, 2016
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Roman Saldygashev <sldg.roman@gmail.com>, 2016\n" "Last-Translator: Roman Saldygashev <sldg.roman@gmail.com>, 2016\n"
"Language: ru\n"
"Language-Team: Russian (https://www.transifex.com/alexandrevicenzi/teams/66327/ru/)\n" "Language-Team: Russian (https://www.transifex.com/alexandrevicenzi/teams/66327/ru/)\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3)\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"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Старые сообщения"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Новые сообщения" msgstr "Новые сообщения"

View file

@ -1,10 +1,11 @@
# Turkish (Turkey) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
# #
# Translators: # Translators:
# İlker Yürüyen <i.ilker.yuruyen@gmail.com>, 2019 # İlker Yürüyen <i.ilker.yuruyen@gmail.com>, 2019
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -13,13 +14,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: İlker Yürüyen <i.ilker.yuruyen@gmail.com>, 2019\n" "Last-Translator: İlker Yürüyen <i.ilker.yuruyen@gmail.com>, 2019\n"
"Language: tr_TR\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/alexandrevicenzi/teams/66327/tr_TR/)\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/alexandrevicenzi/teams/66327/tr_TR/)\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"
"Language: tr_TR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -132,4 +133,3 @@ msgstr "Eski Paylaşımlar"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "Yeni Paylaşımlar" msgstr "Yeni Paylaşımlar"

View file

@ -1,4 +1,4 @@
# Chinese (Simplified, China) translations for Flex. # Translations template for Flex.
# Copyright (C) 2020 Alexandre Vicenzi # Copyright (C) 2020 Alexandre Vicenzi
# This file is distributed under the same license as the Flex project. # This file is distributed under the same license as the Flex project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. # FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
@ -7,6 +7,7 @@
# Shiao Qu <whisperzzzz@icloud.com>, 2016 # Shiao Qu <whisperzzzz@icloud.com>, 2016
# a2c1471d1cd73a676b800725acec033c_035a6a6 <7c743bc6ac83171e35a5aa8bd66cc1ea_775282>, 2019 # a2c1471d1cd73a676b800725acec033c_035a6a6 <7c743bc6ac83171e35a5aa8bd66cc1ea_775282>, 2019
# Qian Gu <guqian110@163.com>, 2020 # Qian Gu <guqian110@163.com>, 2020
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
@ -15,13 +16,13 @@ msgstr ""
"POT-Creation-Date: 2020-12-01 20:21+0100\n" "POT-Creation-Date: 2020-12-01 20:21+0100\n"
"PO-Revision-Date: 2016-08-25 02:15+0000\n" "PO-Revision-Date: 2016-08-25 02:15+0000\n"
"Last-Translator: Qian Gu <guqian110@163.com>, 2020\n" "Last-Translator: Qian Gu <guqian110@163.com>, 2020\n"
"Language: zh_CN\n"
"Language-Team: Chinese (China) (https://www.transifex.com/alexandrevicenzi/teams/66327/zh_CN/)\n" "Language-Team: Chinese (China) (https://www.transifex.com/alexandrevicenzi/teams/66327/zh_CN/)\n"
"Plural-Forms: nplurals=1; plural=0\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"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: templates/archives.html:3 templates/archives.html:8 #: templates/archives.html:3 templates/archives.html:8
#: templates/period_archives.html:2 templates/period_archives.html:7 #: templates/period_archives.html:2 templates/period_archives.html:7
@ -134,4 +135,3 @@ msgstr "更旧的文章"
#: templates/partial/pagination.html:10 #: templates/partial/pagination.html:10
msgid "Newer Posts" msgid "Newer Posts"
msgstr "更新的文章" msgstr "更新的文章"