diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..7a1db7a8b3d72d46bbcd8599f6b276abd2a8d2c4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,13 @@ +image: python:3.7-alpine + +pages: + stage: deploy + script: + - apk update && apk add make + - pip install -r requirements.txt + - make publish + artifacts: + paths: + - public/ + only: + - master diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..cc67606f330b4e5b4d643ce3adadee13122a081c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.linting.pylintEnabled": true, + "python.linting.enabled": true +} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e72d4ecf7c26821bb433bdb930d79b17c8db6dca --- /dev/null +++ b/Makefile @@ -0,0 +1,76 @@ +PY?=python3 +PELICAN?=pelican +PELICANOPTS= + +BASEDIR=$(CURDIR) +INPUTDIR=$(BASEDIR)/content +OUTPUTDIR=$(BASEDIR)/public +CONFFILE=$(BASEDIR)/pelicanconf.py +PUBLISHCONF=$(BASEDIR)/publishconf.py + + +DEBUG ?= 0 +ifeq ($(DEBUG), 1) + PELICANOPTS += -D +endif + +RELATIVE ?= 0 +ifeq ($(RELATIVE), 1) + PELICANOPTS += --relative-urls +endif + +help: + @echo 'Makefile for a pelican Web site ' + @echo ' ' + @echo 'Usage: ' + @echo ' make html (re)generate the web site ' + @echo ' make clean remove the generated files ' + @echo ' make regenerate regenerate files upon modification ' + @echo ' make publish generate using production settings ' + @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 devserver [PORT=8000] serve and regenerate together ' + @echo ' make ssh_upload upload the web site via SSH ' + @echo ' make rsync_upload upload the web site via rsync+ssh ' + @echo ' ' + @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 ' ' + +html: + $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) + +clean: + [ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) + +regenerate: + $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) + +serve: +ifdef PORT + $(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) +else + $(PELICAN) -l $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) +endif + +serve-global: +ifdef 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: +ifdef PORT + $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -p $(PORT) +else + $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) +endif + +publish: + $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) + + +.PHONY: html help clean regenerate serve serve-global devserver publish + diff --git a/pelican-themes/pelican-bootstrap3/templates/base.html b/pelican-themes/pelican-bootstrap3/templates/base.html index 154954f256622894a518f3c3eeaeadaec04a6d9e..8939acb11a89dac40a76ea613eddd66115e68f30 100644 --- a/pelican-themes/pelican-bootstrap3/templates/base.html +++ b/pelican-themes/pelican-bootstrap3/templates/base.html @@ -87,12 +87,12 @@ {% endif %} {% if tag and TAG_FEED_ATOM %} - <link href="{{ SITEURL }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" + <link href="{{ SITEURL }}/{{ TAG_FEED_ATOM|format(slug=tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} {{ tag }} ATOM Feed"/> {% endif %} {% if category and CATEGORY_FEED_ATOM %} - <link href="{{ SITEURL }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" + <link href="{{ SITEURL }}/{{ CATEGORY_FEED_ATOM|format(slug=category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} {{ category }} ATOM Feed"/> {% endif %} diff --git a/pelicanconf.py b/pelicanconf.py index 3f9fc290a5bc66b34813b89dfc655478e45c10b3..1362e72f35179770f4bd0ba7ba3a5883c9e0a427 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -40,7 +40,9 @@ PYGMENTS_STYLE = 'default' PATH_METADATA = 'pages/(?P<path>.*)\..*' -JINJA_EXTENSIONS = ['jinja2.ext.i18n'] +JINJA_ENVIRONMENT = { + 'extensions': ['jinja2.ext.i18n'], +} I18N_SUBSITES = { } diff --git a/publishconf.py b/publishconf.py index 355b6a14e5fd7f05b438c76475f4de95c0a6273e..304e4de53eeee3f86a9d970b0d7a79eb2248ad98 100644 --- a/publishconf.py +++ b/publishconf.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals # AUTHOR = u'Duniter' SITENAME = u'Duniter' -SITEURL = u'https://duniter.org/en' +SITEURL = u'https://librelois.duniter.io/website_en/' PATH = 'content' THEME = "pelican-themes/pelican-bootstrap3" @@ -24,7 +24,8 @@ SITELOGO_SIZE = 36 DEFAULT_LANG = u'fr' PLUGIN_PATHS = ['pelican-plugins/'] -PLUGINS = ['i18n_subsites', 'tipue_search', 'pelican-page-hierarchy', 'plantuml'] +PLUGINS = ['i18n_subsites', 'tipue_search', 'pelican-page-hierarchy'] +#PLUGINS = ['i18n_subsites', 'tipue_search', 'pelican-page-hierarchy, 'plantuml'] MARKDOWN = { 'extension_configs': { @@ -40,7 +41,9 @@ PYGMENTS_STYLE = 'default' PATH_METADATA = 'pages/(?P<path>.*)\..*' -JINJA_EXTENSIONS = ['jinja2.ext.i18n'] +JINJA_ENVIRONMENT = { + 'extensions': ['jinja2.ext.i18n'], +} I18N_SUBSITES = { } @@ -82,7 +85,7 @@ SOCIAL = (('Forum', 'https://forum.duniter.org', 'comment'), ('Gitlab', 'https://git.duniter.org/'), ('GitHub', 'https://github.com/duniter'), ('Diaspora', 'https://framasphere.org/people/1949ee70f6bc0134e6b32a0000053625', 'asterisk'), - ('RSS', '/feeds/all.atom.xml'), + #('RSS', '/feeds/all.atom.xml'), ('ğchange', 'https://www.gchange.fr', 'balance-scale'), ('ğannonce', 'https://gannonce.duniter.org', 'bullhorn'),) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..802fe94621b0ca4a44201f6e74565290c6b84443 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +pelican==4.2.0 +pelican-youtube +markdown +beautifulsoup4 +webassets +lessc