summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-05-07 14:40:20 +0200
committerFlorian Dold <florian@dold.me>2021-05-07 14:40:31 +0200
commit2590d9989d3d3becc1026f579677cfdf95a77351 (patch)
tree2f5cb238b2304d6e6babda54773494c1c898e084
parent8246e1dc4e01cff390fde6583bd502d9b4edab0b (diff)
downloadanastasis-www-2590d9989d3d3becc1026f579677cfdf95a77351.tar.gz
anastasis-www-2590d9989d3d3becc1026f579677cfdf95a77351.tar.bz2
anastasis-www-2590d9989d3d3becc1026f579677cfdf95a77351.zip
restructure to work with current site generator
-rw-r--r--Makefile71
-rwxr-xr-xbootstrap2
m---------inc0
-rw-r--r--locale/babel.map2
-rw-r--r--locale/de/LC_MESSAGES/messages.po40
-rw-r--r--locale/en/LC_MESSAGES/messages.po36
-rw-r--r--locale/es/LC_MESSAGES/messages.po40
-rw-r--r--locale/fr/LC_MESSAGES/messages.po36
-rw-r--r--locale/it/LC_MESSAGES/messages.po40
-rw-r--r--locale/messages.pot36
-rw-r--r--locale/pt/LC_MESSAGES/messages.po44
-rw-r--r--locale/ru/LC_MESSAGES/messages.po36
-rwxr-xr-xmake_site.py65
-rw-r--r--static/icons/info.txt (renamed from icons/info.txt)0
-rw-r--r--static/images/aboutbanner1.jpg (renamed from images/aboutbanner1.jpg)bin113853 -> 113853 bytes
-rw-r--r--static/images/absicon.png (renamed from images/absicon.png)bin2524 -> 2524 bytes
-rw-r--r--static/images/arrow-down.gif (renamed from images/arrow-down.gif)bin109 -> 109 bytes
-rw-r--r--static/images/arwlt.png (renamed from images/arwlt.png)bin2342 -> 2342 bytes
-rw-r--r--static/images/arwrt.png (renamed from images/arwrt.png)bin2349 -> 2349 bytes
-rw-r--r--static/images/backtop.png (renamed from images/backtop.png)bin2592 -> 2592 bytes
-rw-r--r--static/images/banicon6.png (renamed from images/banicon6.png)bin1673 -> 1673 bytes
-rw-r--r--static/images/banner.jpg (renamed from images/banner.jpg)bin14999 -> 14999 bytes
-rw-r--r--static/images/bannerabout.jpg (renamed from images/bannerabout.jpg)bin53750 -> 53750 bytes
-rw-r--r--static/images/conceptpic.jpg (renamed from images/conceptpic.jpg)bin72996 -> 72996 bytes
-rw-r--r--static/images/de.png (renamed from images/de.png)bin545 -> 545 bytes
-rw-r--r--static/images/design.png (renamed from images/design.png)bin10138 -> 10138 bytes
-rw-r--r--static/images/es.png (renamed from images/es.png)bin469 -> 469 bytes
-rw-r--r--static/images/fr.png (renamed from images/fr.png)bin545 -> 545 bytes
-rw-r--r--static/images/gb.png (renamed from images/gb.png)bin599 -> 599 bytes
-rw-r--r--static/images/icon1.png (renamed from images/icon1.png)bin3805 -> 3805 bytes
-rw-r--r--static/images/icon10.png (renamed from images/icon10.png)bin3079 -> 3079 bytes
-rw-r--r--static/images/icon2.png (renamed from images/icon2.png)bin4176 -> 4176 bytes
-rw-r--r--static/images/icon3.png (renamed from images/icon3.png)bin5558 -> 5558 bytes
-rw-r--r--static/images/icon4.png (renamed from images/icon4.png)bin4296 -> 4296 bytes
-rw-r--r--static/images/icon5.png (renamed from images/icon5.png)bin5464 -> 5464 bytes
-rw-r--r--static/images/icon6.png (renamed from images/icon6.png)bin4777 -> 4777 bytes
-rw-r--r--static/images/icon7.png (renamed from images/icon7.png)bin4978 -> 4978 bytes
-rw-r--r--static/images/icon8.png (renamed from images/icon8.png)bin4245 -> 4245 bytes
-rw-r--r--static/images/icon9.png (renamed from images/icon9.png)bin4590 -> 4590 bytes
-rw-r--r--static/images/it.png (renamed from images/it.png)bin420 -> 420 bytes
-rw-r--r--static/images/logo.png (renamed from images/logo.png)bin1915 -> 1915 bytes
-rw-r--r--static/images/mob.png (renamed from images/mob.png)bin86408 -> 86408 bytes
-rw-r--r--static/images/mob_new.png (renamed from images/mob_new.png)bin83735 -> 83735 bytes
-rw-r--r--static/images/pic1.jpg (renamed from images/pic1.jpg)bin91963 -> 91963 bytes
-rw-r--r--static/images/pic10.jpg (renamed from images/pic10.jpg)bin15327 -> 15327 bytes
-rw-r--r--static/images/pic13.jpg (renamed from images/pic13.jpg)bin24125 -> 24125 bytes
-rw-r--r--static/images/pic14.jpg (renamed from images/pic14.jpg)bin22384 -> 22384 bytes
-rw-r--r--static/images/pic15.jpg (renamed from images/pic15.jpg)bin24122 -> 24122 bytes
-rw-r--r--static/images/pic16.jpg (renamed from images/pic16.jpg)bin27353 -> 27353 bytes
-rw-r--r--static/images/pic17.jpg (renamed from images/pic17.jpg)bin54525 -> 54525 bytes
-rw-r--r--static/images/pic18.jpg (renamed from images/pic18.jpg)bin84022 -> 84022 bytes
-rw-r--r--static/images/pic19.jpg (renamed from images/pic19.jpg)bin66216 -> 66216 bytes
-rw-r--r--static/images/pic2.png (renamed from images/pic2.png)bin139885 -> 139885 bytes
-rw-r--r--static/images/pic3.png (renamed from images/pic3.png)bin324855 -> 324855 bytes
-rw-r--r--static/images/pic4.jpg (renamed from images/pic4.jpg)bin21524 -> 21524 bytes
-rw-r--r--static/images/pic5.jpg (renamed from images/pic5.jpg)bin31960 -> 31960 bytes
-rw-r--r--static/images/pic6.jpg (renamed from images/pic6.jpg)bin17985 -> 17985 bytes
-rw-r--r--static/images/pic7.jpg (renamed from images/pic7.jpg)bin15013 -> 15013 bytes
-rw-r--r--static/images/pic8.jpg (renamed from images/pic8.jpg)bin19469 -> 19469 bytes
-rw-r--r--static/images/pic9.jpg (renamed from images/pic9.jpg)bin17325 -> 17325 bytes
-rw-r--r--static/images/proicon1.jpg (renamed from images/proicon1.jpg)bin2203 -> 2203 bytes
-rw-r--r--static/images/proicon10.jpg (renamed from images/proicon10.jpg)bin2025 -> 2025 bytes
-rw-r--r--static/images/proicon2.jpg (renamed from images/proicon2.jpg)bin2172 -> 2172 bytes
-rw-r--r--static/images/proicon3.jpg (renamed from images/proicon3.jpg)bin2074 -> 2074 bytes
-rw-r--r--static/images/proicon4.jpg (renamed from images/proicon4.jpg)bin1878 -> 1878 bytes
-rw-r--r--static/images/proicon5.jpg (renamed from images/proicon5.jpg)bin2071 -> 2071 bytes
-rw-r--r--static/images/proicon6.jpg (renamed from images/proicon6.jpg)bin1973 -> 1973 bytes
-rw-r--r--static/images/proicon7.jpg (renamed from images/proicon7.jpg)bin2149 -> 2149 bytes
-rw-r--r--static/images/proicon8.jpg (renamed from images/proicon8.jpg)bin2001 -> 2001 bytes
-rw-r--r--static/images/proicon9.jpg (renamed from images/proicon9.jpg)bin1877 -> 1877 bytes
-rw-r--r--static/papers/thesis-anastasis-2020.pdf (renamed from papers/thesis-anastasis-2020.pdf)bin1041705 -> 1041705 bytes
-rw-r--r--static/pdf/anastasis_documentation.pdf (renamed from pdf/anastasis_documentation.pdf)bin859824 -> 859824 bytes
-rw-r--r--static/presentations/info.txt (renamed from presentations/info.txt)0
-rw-r--r--static/web-common/.dir-locals.el16
-rw-r--r--static/web-common/.gitignore6
-rw-r--r--static/web-common/AUTHORS2
-rw-r--r--static/web-common/Makefile.am24
-rw-r--r--static/web-common/chrome-any.d.ts2
-rw-r--r--static/web-common/demo.css90
-rw-r--r--static/web-common/favicon-taler.icobin0 -> 588 bytes
-rw-r--r--static/web-common/licensing.rst2
-rw-r--r--static/web-common/navbar.css75
-rw-r--r--static/web-common/pure.css1508
-rw-r--r--static/web-common/taler-fallback.css15
-rw-r--r--static/web-common/tsconfig.json15
-rw-r--r--template/news/2020-06.html.j2 (renamed from news/2020-06.html.j2)0
-rw-r--r--template/news/2020-07.html.j2 (renamed from news/2020-07.html.j2)0
-rw-r--r--template/news/2020-12.html.j2 (renamed from news/2020-12.html.j2)0
-rw-r--r--template/news/index.html.j2 (renamed from news/index.html.j2)4
-rw-r--r--www.yml39
90 files changed, 1949 insertions, 297 deletions
diff --git a/Makefile b/Makefile
index 521fad5..a348dce 100644
--- a/Makefile
+++ b/Makefile
@@ -3,87 +3,62 @@
include build-system/config.mk
# List of all supported languages, add new languages here!
-LANGUAGES="en de fr es it ru pt"
+LANGUAGES="de en es fr it pt ru"
# All: build HTML pages in all languages and compile the
-# TypeScript logic in web-common.
.PHONY: all
all: locale template
- ($(cp) rendered/static/robots.txt rendered/robots.txt)
- (for lang in `echo $(LANGUAGES)` ; do \
- $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt; \
- done)
- ($(python) inc/make_sitemap.py -i rendered)
- ($(cp) sitemap.xml rendered/sitemap.xml)
- ($(cp) sitemap.xml rendered/en/sitemap.xml)
- (for lang in `echo $(LANGUAGES)` ; do \
- $(cp) rendered/sitemap.xml rendered/$$lang ; \
- done)
- ($(cp) -R images rendered/static/)
- (for lang in `echo $(LANGUAGES)` ; \
- do $(cp) -R images rendered/$$lang ; \
- done)
- (for lang in `echo $(LANGUAGES)` ; do \
- $(cp) -R web-common rendered/$$lang ; \
- done)
- (cd rendered; \
- for lang in `echo $(LANGUAGES)`; do \
- $(cp) $$lang/rss.xml $$lang/news/rss.xml; \
- done)
- (for d in icons papers presentations ; do \
- $(cp) -R $$d rendered/ ; \
- done)
- ($(cp) -R pdf rendered/static/)
- ($(mkdir) -p rendered/.well-known ; $(cp) .well-known/security.txt rendered/.well-known/)
+ env BASEURL=$(opt_baseurl) ./inc/make_site.py
# Extract translateable strings from jinja2 templates.
-locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc
- $(python) inc/mybabel.py $(pybabel) extract -F locale/babel.map -o locale/messages.pot .
+locale/messages.pot: template/*.j2 template/news/*.j2 common/*.j2 common/*.j2.inc
+ env PYTHONPATH=$$PWD/inc:$$PYTHONPATH $(pybabel) extract -F locale/babel.map -o locale/messages.pot .
# Update translation (.po) files with new strings.
.PHONY: locale-update
locale-update: locale/messages.pot
- (for lang in `echo $(LANGUAGES)`; do \
+ for lang in `echo $(LANGUAGES)`; do \
$(msgmerge) -q -U -m --previous locale/$$lang/LC_MESSAGES/messages.po locale/messages.pot ; \
- done)
-
- if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then $(echo) -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi
+ done
+ if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then \
+ $(echo) -e "\nERROR: Conflicts encountered in PO files.\n"; \
+ exit 1; \
+ fi
# Compile translation files for use.
.PHONY: locale-compile
locale-compile:
- (for lang in `echo $(LANGUAGES)`; do \
+ for lang in `echo $(LANGUAGES)`; do \
+ echo compiling $$lang; \
$(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \
- done)
+ done
# Process everything related to gettext translations.
.PHONY: locale
locale: locale-update locale-compile
-# Run the jinja2 templating engine to expand templates to HTML
-# incorporating translations.
-template: locale-compile
- env BASEURL=$(opt_baseurl) ./make_site.py
-
.PHONY: run
run: all
$(browser) http://0.0.0.0:8000/rendered/en &
$(python) -m http.server
+variant = $(opt_variant)
+
+ifndef variant
+$(error variant is not set)
+endif
+
.PHONY: install
install: all
- $(mkdir) -p $(prefix)/
- $(cp) -r rendered/* $(prefix)/
- $(cp) -r rendered/.well-known/ $(prefix)/
-
-.PHONY: uninstall
-uninstall:
- $(rm) -rf $(prefix)/
+ $(mkdir) -p $(prefix)/$(variant)
+ $(cp) -r rendered/* $(prefix)/$(variant)/
+ $(cp) -r rendered/.well-known/ $(prefix)/$(variant)/
.PHONY: clean
clean:
$(rm) -rf __pycache__ *.pyc *~ \.*~ \#*\#
$(rm) -rf rendered/
+.PHONY: submodules/update
submodules/update:
$(git) submodule update --recursive --remote
diff --git a/bootstrap b/bootstrap
index 26cd0df..774b2eb 100755
--- a/bootstrap
+++ b/bootstrap
@@ -11,7 +11,7 @@ if ! git --version >/dev/null; then
fi
git submodule update --init
-git submodule update --recursive --remote
+git submodule update --recursive
git submodule sync
cp build-system/taler-build-scripts/configure ./configure || true
diff --git a/inc b/inc
-Subproject 1e9e7661a47f73d0cd2d8889d4d6e5f8f7eca09
+Subproject 20d3bab14bc313c3b383f5b447d5d07029400b1
diff --git a/locale/babel.map b/locale/babel.map
index 72b6f99..9585ab5 100644
--- a/locale/babel.map
+++ b/locale/babel.map
@@ -1,5 +1,5 @@
[extractors]
-jinja2 = i18nfix:babel_extract
+jinja2 = sitegen.i18nfix:babel_extract
[jinja2: **.j2]
encoding = utf-8
diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po
index ae8f1c4..e12a6a2 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-22 22:37+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2021-04-23 08:43+0000\n"
"Last-Translator: Stefan <eintritt@hotmail.com>\n"
"Language-Team: German <http://weblate.taler.net/projects/anastasis/website/"
@@ -40,25 +40,6 @@ msgstr "Dokumentation"
msgid "About"
msgstr "Über uns"
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr "Neuigkeiten"
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-"Neuigkeiten zu Anastasis und<br>Hinweise auf Veröffentlichungen und "
-"Veranstaltungen."
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr "Abonnieren Sie unseren RSS-Feed"
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr "Weiterlesen"
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "About Anastasis"
@@ -256,6 +237,10 @@ msgstr "Dokumentation"
msgid "Project Documentation"
msgstr "Projekt Dokumentation"
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr "Neuigkeiten"
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr "Dokumentation"
@@ -710,6 +695,21 @@ msgid ""
"story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+"Neuigkeiten zu Anastasis und<br>Hinweise auf Veröffentlichungen und "
+"Veranstaltungen."
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr "Abonnieren Sie unseren RSS-Feed"
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr "Weiterlesen"
+
#, fuzzy
#~| msgid "API Documentation"
#~ msgid "News and</em>documentation"
diff --git a/locale/en/LC_MESSAGES/messages.po b/locale/en/LC_MESSAGES/messages.po
index a4ae3ee..955ddef 100644
--- a/locale/en/LC_MESSAGES/messages.po
+++ b/locale/en/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-28 10:21+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2020-08-24 11:24+0200\n"
"Last-Translator: Dominik <dm@anastasis.lu>\n"
"Language-Team: English\n"
@@ -38,23 +38,6 @@ msgstr ""
msgid "About"
msgstr ""
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr ""
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr ""
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr ""
-
#: template/about.html.j2:9
msgid "About</em> Anastasis"
msgstr ""
@@ -194,6 +177,10 @@ msgstr ""
msgid "Project Documentation"
msgstr ""
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr ""
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr ""
@@ -587,3 +574,16 @@ msgid ""
"isss-excellence-award/\" target=\"_blank\" rel=\"noopener noreferrer\"> Full "
"story</a>"
msgstr ""
+
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr ""
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr ""
diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po
index ffa31b8..ac3c7ae 100644
--- a/locale/es/LC_MESSAGES/messages.po
+++ b/locale/es/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2021-03-25 01:31+0000\n"
"Last-Translator: Lucía López <lulopezcabrera@gmail.com>\n"
"Language-Team: Spanish <http://weblate.taler.net/projects/anastasis/website/"
@@ -42,25 +42,6 @@ msgstr "Documentación API"
msgid "About"
msgstr "Acerca"
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr "Noticias"
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-"Publicación de noticias acerca de los cambios relacionados con Anastasis "
-"tales como lanzamientos y eventos."
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr "suscríbete a nuestro feed RSS"
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr "leer más"
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "About Anastasis"
@@ -253,6 +234,10 @@ msgstr "Documentación API"
msgid "Project Documentation"
msgstr "Documentación del proyecto"
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr "Noticias"
+
#: template/docs_news.html.j2:10
#, fuzzy
#| msgid "API Documentation"
@@ -700,6 +685,21 @@ msgid ""
"story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+"Publicación de noticias acerca de los cambios relacionados con Anastasis "
+"tales como lanzamientos y eventos."
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr "suscríbete a nuestro feed RSS"
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr "leer más"
+
#~ msgid ""
#~ "This page was created using <a href='https://www.gnu.org/' style='color: "
#~ "antiquewhite;'>Free Software</a> only."
diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po
index f25379d..2cf47a9 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2020-10-25 12:16+0000\n"
"Last-Translator: Weblate Admin <admin@example.com>\n"
"Language-Team: French <http://weblate.taler.net/projects/anastasis/website/"
@@ -40,23 +40,6 @@ msgstr ""
msgid "About"
msgstr "À propos"
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr "Actualités"
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr "Souscrivez à notre flux RSS"
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr "lire la suite"
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "About Anastasis"
@@ -200,6 +183,10 @@ msgstr ""
msgid "Project Documentation"
msgstr ""
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr "Actualités"
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr ""
@@ -613,6 +600,19 @@ msgid ""
"story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr "Souscrivez à notre flux RSS"
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr "lire la suite"
+
#~ msgid ""
#~ "This page was created using <a href='https://www.gnu.org/' style='color: "
#~ "antiquewhite;'>Free Software</a> only."
diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po
index 1e6445f..f461bda 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2021-03-13 17:31+0000\n"
"Last-Translator: Francesca Giusti <francescag1194@gmail.com>\n"
"Language-Team: Italian <http://weblate.taler.net/projects/anastasis/website/"
@@ -42,25 +42,6 @@ msgstr "Documentazione API"
msgid "About"
msgstr "A proposito"
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr "Novità"
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-"Pubblicazione di novità riguardo i cambi relazionati con Anastasis, come "
-"lanci ed eventi."
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr "Iscriviti al nostro feed RSS"
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr "Avanti"
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "About Anastasis"
@@ -253,6 +234,10 @@ msgstr "Documentazione API"
msgid "Project Documentation"
msgstr "Documentazione del progetto"
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr "Novità"
+
#: template/docs_news.html.j2:10
#, fuzzy
#| msgid "API Documentation"
@@ -699,6 +684,21 @@ msgid ""
"story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+"Pubblicazione di novità riguardo i cambi relazionati con Anastasis, come "
+"lanci ed eventi."
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr "Iscriviti al nostro feed RSS"
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr "Avanti"
+
#~ msgid ""
#~ "This page was created using <a href='https://www.gnu.org/' style='color: "
#~ "antiquewhite;'>Free Software</a> only."
diff --git a/locale/messages.pot b/locale/messages.pot
index 91942b9..5863a52 100644
--- a/locale/messages.pot
+++ b/locale/messages.pot
@@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.0\n"
#: common/base.j2:5 common/news.j2:5
msgid "Anastasis"
@@ -37,22 +37,6 @@ msgstr ""
msgid "About"
msgstr ""
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr ""
-
-#: news/index.html.j2:9
-msgid "News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr ""
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr ""
-
#: template/about.html.j2:9
msgid "About</em> Anastasis"
msgstr ""
@@ -193,6 +177,10 @@ msgstr ""
msgid "Project Documentation"
msgstr ""
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr ""
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr ""
@@ -593,3 +581,15 @@ msgid ""
"target=\"_blank\" rel=\"noopener noreferrer\"> Full story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid "News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr ""
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr ""
+
diff --git a/locale/pt/LC_MESSAGES/messages.po b/locale/pt/LC_MESSAGES/messages.po
index 8b44625..01bf7f6 100644
--- a/locale/pt/LC_MESSAGES/messages.po
+++ b/locale/pt/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2021-02-13 06:49+0000\n"
"Last-Translator: Luís Silva <lmleitaosilva@gmail.com>\n"
"Language-Team: Portuguese <http://weblate.taler.net/projects/anastasis/"
@@ -40,25 +40,6 @@ msgstr ""
msgid "About"
msgstr "Sobre nós"
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr "Notícias"
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-"Novas publicações sobre mudanças relacionadas com a Anastasis, tais como "
-"lançamentos e eventos."
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr "subscreva o nosso feed RSS"
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr "ler mais"
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "About Anastasis"
@@ -223,6 +204,10 @@ msgstr ""
msgid "Project Documentation"
msgstr ""
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr "Notícias"
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr ""
@@ -448,8 +433,10 @@ msgid ""
msgstr ""
#: template/index.html.j2:192
+#, fuzzy
+#| msgid "1. Privacy"
msgid "Privacy"
-msgstr ""
+msgstr "Privacidade"
#: template/index.html.j2:193
msgid ""
@@ -641,6 +628,21 @@ msgid ""
"story</a>"
msgstr ""
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+"Novas publicações sobre mudanças relacionadas com a Anastasis, tais como "
+"lançamentos e eventos."
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr "subscreva o nosso feed RSS"
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr "ler mais"
+
#~ msgid ""
#~ "This page was created using <a href='https://www.gnu.org/' style='color: "
#~ "antiquewhite;'>Free Software</a> only."
diff --git a/locale/ru/LC_MESSAGES/messages.po b/locale/ru/LC_MESSAGES/messages.po
index a7709c8..a408ea8 100644
--- a/locale/ru/LC_MESSAGES/messages.po
+++ b/locale/ru/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-04-30 09:51+0200\n"
+"POT-Creation-Date: 2021-05-07 14:38+0200\n"
"PO-Revision-Date: 2020-08-24 11:24+0200\n"
"Last-Translator: Dominik <dm@anastasis.lu>\n"
"Language-Team: English\n"
@@ -38,23 +38,6 @@ msgstr ""
msgid "About"
msgstr ""
-#: news/index.html.j2:4 template/docs_news.html.j2:10
-msgid "News"
-msgstr ""
-
-#: news/index.html.j2:9
-msgid ""
-"News posts about changes related to Anastasis such as releases and events."
-msgstr ""
-
-#: news/index.html.j2:12
-msgid "subscribe to our RSS feed"
-msgstr ""
-
-#: news/index.html.j2:23
-msgid "read more"
-msgstr ""
-
#: template/about.html.j2:9
#, fuzzy
#| msgid "Anastasis"
@@ -196,6 +179,10 @@ msgstr ""
msgid "Project Documentation"
msgstr ""
+#: template/docs_news.html.j2:10 template/news/index.html.j2:4
+msgid "News"
+msgstr ""
+
#: template/docs_news.html.j2:10
msgid "documentation"
msgstr ""
@@ -604,3 +591,16 @@ msgid ""
"isss-excellence-award/\" target=\"_blank\" rel=\"noopener noreferrer\"> Full "
"story</a>"
msgstr ""
+
+#: template/news/index.html.j2:9
+msgid ""
+"News posts about changes related to Anastasis such as releases and events."
+msgstr ""
+
+#: template/news/index.html.j2:12
+msgid "subscribe to our RSS feed"
+msgstr ""
+
+#: template/news/index.html.j2:23
+msgid "read more"
+msgstr ""
diff --git a/make_site.py b/make_site.py
deleted file mode 100755
index b35c7d6..0000000
--- a/make_site.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python3
-# coding: utf-8
-#
-# This file is in the public domain.
-#
-# This script runs the jinja2 templating engine on an input template-file
-# using the specified locale for gettext translations, and outputs
-# the resulting (HTML) ouptut-file.
-#
-# Note that the gettext files need to be prepared first. This script
-# is thus to be invoked via the Makefile.
-import jinja2
-import sys
-from pathlib import Path, PurePath
-
-# Make sure the current directory is in the search path when trying
-# to import i18nfix.
-sys.path.insert(0, ".")
-sys.path.insert(0, "inc/")
-
-from inc.site import gen_site
-from inc.fileproc import copy_files
-
-env = jinja2.Environment(loader=jinja2.FileSystemLoader(str(PurePath(__file__).parent)),
- extensions=["jinja2.ext.i18n"],
- lstrip_blocks=True,
- trim_blocks=True,
- undefined=jinja2.StrictUndefined,
- autoescape=False)
-
-if len(sys.argv) >= 2 and sys.argv[1] == "-vv":
- DEBUG=1
-elif len(sys.argv) >= 2 and sys.argv[1] == "-vvv":
- DEBUG=2
-elif len(sys.argv) >= 2 and sys.argv[1] == "-vvvv":
- DEBUG=3
-else:
- DEBUG=0
-
-def main():
- x = gen_site(DEBUG)
- conf = x.load_config("www.yml")
- x.gen_abstract(conf, "newsposts", "abstract", "page", 1000)
- x.gen_newspost_content(conf, "newsposts", "content", "page", "en")
- x.gen_rss("inc", conf, env)
- if DEBUG:
- print("generating html from jinja2 templates...")
- x.run("template", conf, env)
- if DEBUG >= 2:
- print(Path.cwd())
- _ = Path("rendered")
- for child in _.iterdir():
- print(child)
- if DEBUG >= 2:
- print(Path.cwd())
- if DEBUG:
- print("generating html from jinja2 news templates...")
- x.run("news", conf, env)
- if DEBUG:
- print("copying directories...")
- x.copy_trees("static")
-# x.copy_trees("dist")
-
-if __name__ == "__main__":
- main()
diff --git a/icons/info.txt b/static/icons/info.txt
index d6da36d..d6da36d 100644
--- a/icons/info.txt
+++ b/static/icons/info.txt
diff --git a/images/aboutbanner1.jpg b/static/images/aboutbanner1.jpg
index ad6256c..ad6256c 100644
--- a/images/aboutbanner1.jpg
+++ b/static/images/aboutbanner1.jpg
Binary files differ
diff --git a/images/absicon.png b/static/images/absicon.png
index b92ea7d..b92ea7d 100644
--- a/images/absicon.png
+++ b/static/images/absicon.png
Binary files differ
diff --git a/images/arrow-down.gif b/static/images/arrow-down.gif
index edd521a..edd521a 100644
--- a/images/arrow-down.gif
+++ b/static/images/arrow-down.gif
Binary files differ
diff --git a/images/arwlt.png b/static/images/arwlt.png
index 0dc8764..0dc8764 100644
--- a/images/arwlt.png
+++ b/static/images/arwlt.png
Binary files differ
diff --git a/images/arwrt.png b/static/images/arwrt.png
index cf31296..cf31296 100644
--- a/images/arwrt.png
+++ b/static/images/arwrt.png
Binary files differ
diff --git a/images/backtop.png b/static/images/backtop.png
index c4cb188..c4cb188 100644
--- a/images/backtop.png
+++ b/static/images/backtop.png
Binary files differ
diff --git a/images/banicon6.png b/static/images/banicon6.png
index b299c96..b299c96 100644
--- a/images/banicon6.png
+++ b/static/images/banicon6.png
Binary files differ
diff --git a/images/banner.jpg b/static/images/banner.jpg
index b6e4ca9..b6e4ca9 100644
--- a/images/banner.jpg
+++ b/static/images/banner.jpg
Binary files differ
diff --git a/images/bannerabout.jpg b/static/images/bannerabout.jpg
index b1526ab..b1526ab 100644
--- a/images/bannerabout.jpg
+++ b/static/images/bannerabout.jpg
Binary files differ
diff --git a/images/conceptpic.jpg b/static/images/conceptpic.jpg
index 92f24ed..92f24ed 100644
--- a/images/conceptpic.jpg
+++ b/static/images/conceptpic.jpg
Binary files differ
diff --git a/images/de.png b/static/images/de.png
index ac4a977..ac4a977 100644
--- a/images/de.png
+++ b/static/images/de.png
Binary files differ
diff --git a/images/design.png b/static/images/design.png
index 78aca38..78aca38 100644
--- a/images/design.png
+++ b/static/images/design.png
Binary files differ
diff --git a/images/es.png b/static/images/es.png
index c2de2d7..c2de2d7 100644
--- a/images/es.png
+++ b/static/images/es.png
Binary files differ
diff --git a/images/fr.png b/static/images/fr.png
index 8332c4e..8332c4e 100644
--- a/images/fr.png
+++ b/static/images/fr.png
Binary files differ
diff --git a/images/gb.png b/static/images/gb.png
index ff701e1..ff701e1 100644
--- a/images/gb.png
+++ b/static/images/gb.png
Binary files differ
diff --git a/images/icon1.png b/static/images/icon1.png
index c8e322a..c8e322a 100644
--- a/images/icon1.png
+++ b/static/images/icon1.png
Binary files differ
diff --git a/images/icon10.png b/static/images/icon10.png
index 7ab70ce..7ab70ce 100644
--- a/images/icon10.png
+++ b/static/images/icon10.png
Binary files differ
diff --git a/images/icon2.png b/static/images/icon2.png
index d7f297b..d7f297b 100644
--- a/images/icon2.png
+++ b/static/images/icon2.png
Binary files differ
diff --git a/images/icon3.png b/static/images/icon3.png
index cb7eb5e..cb7eb5e 100644
--- a/images/icon3.png
+++ b/static/images/icon3.png
Binary files differ
diff --git a/images/icon4.png b/static/images/icon4.png
index 62ab8a4..62ab8a4 100644
--- a/images/icon4.png
+++ b/static/images/icon4.png
Binary files differ
diff --git a/images/icon5.png b/static/images/icon5.png
index a8739d6..a8739d6 100644
--- a/images/icon5.png
+++ b/static/images/icon5.png
Binary files differ
diff --git a/images/icon6.png b/static/images/icon6.png
index 44e84bd..44e84bd 100644
--- a/images/icon6.png
+++ b/static/images/icon6.png
Binary files differ
diff --git a/images/icon7.png b/static/images/icon7.png
index 56247f6..56247f6 100644
--- a/images/icon7.png
+++ b/static/images/icon7.png
Binary files differ
diff --git a/images/icon8.png b/static/images/icon8.png
index 23f4868..23f4868 100644
--- a/images/icon8.png
+++ b/static/images/icon8.png
Binary files differ
diff --git a/images/icon9.png b/static/images/icon9.png
index 5402dba..5402dba 100644
--- a/images/icon9.png
+++ b/static/images/icon9.png
Binary files differ
diff --git a/images/it.png b/static/images/it.png
index 89692f7..89692f7 100644
--- a/images/it.png
+++ b/static/images/it.png
Binary files differ
diff --git a/images/logo.png b/static/images/logo.png
index 008546f..008546f 100644
--- a/images/logo.png
+++ b/static/images/logo.png
Binary files differ
diff --git a/images/mob.png b/static/images/mob.png
index 8ccfa63..8ccfa63 100644
--- a/images/mob.png
+++ b/static/images/mob.png
Binary files differ
diff --git a/images/mob_new.png b/static/images/mob_new.png
index be0dbc5..be0dbc5 100644
--- a/images/mob_new.png
+++ b/static/images/mob_new.png
Binary files differ
diff --git a/images/pic1.jpg b/static/images/pic1.jpg
index 40551f2..40551f2 100644
--- a/images/pic1.jpg
+++ b/static/images/pic1.jpg
Binary files differ
diff --git a/images/pic10.jpg b/static/images/pic10.jpg
index de8a878..de8a878 100644
--- a/images/pic10.jpg
+++ b/static/images/pic10.jpg
Binary files differ
diff --git a/images/pic13.jpg b/static/images/pic13.jpg
index 47901c4..47901c4 100644
--- a/images/pic13.jpg
+++ b/static/images/pic13.jpg
Binary files differ
diff --git a/images/pic14.jpg b/static/images/pic14.jpg
index 4c2dac0..4c2dac0 100644
--- a/images/pic14.jpg
+++ b/static/images/pic14.jpg
Binary files differ
diff --git a/images/pic15.jpg b/static/images/pic15.jpg
index 945df48..945df48 100644
--- a/images/pic15.jpg
+++ b/static/images/pic15.jpg
Binary files differ
diff --git a/images/pic16.jpg b/static/images/pic16.jpg
index d15fed5..d15fed5 100644
--- a/images/pic16.jpg
+++ b/static/images/pic16.jpg
Binary files differ
diff --git a/images/pic17.jpg b/static/images/pic17.jpg
index e8e3b9a..e8e3b9a 100644
--- a/images/pic17.jpg
+++ b/static/images/pic17.jpg
Binary files differ
diff --git a/images/pic18.jpg b/static/images/pic18.jpg
index 10e6bbd..10e6bbd 100644
--- a/images/pic18.jpg
+++ b/static/images/pic18.jpg
Binary files differ
diff --git a/images/pic19.jpg b/static/images/pic19.jpg
index a9f318a..a9f318a 100644
--- a/images/pic19.jpg
+++ b/static/images/pic19.jpg
Binary files differ
diff --git a/images/pic2.png b/static/images/pic2.png
index de314b5..de314b5 100644
--- a/images/pic2.png
+++ b/static/images/pic2.png
Binary files differ
diff --git a/images/pic3.png b/static/images/pic3.png
index 74ed1e4..74ed1e4 100644
--- a/images/pic3.png
+++ b/static/images/pic3.png
Binary files differ
diff --git a/images/pic4.jpg b/static/images/pic4.jpg
index dd8aa76..dd8aa76 100644
--- a/images/pic4.jpg
+++ b/static/images/pic4.jpg
Binary files differ
diff --git a/images/pic5.jpg b/static/images/pic5.jpg
index e9b6605..e9b6605 100644
--- a/images/pic5.jpg
+++ b/static/images/pic5.jpg
Binary files differ
diff --git a/images/pic6.jpg b/static/images/pic6.jpg
index e157a68..e157a68 100644
--- a/images/pic6.jpg
+++ b/static/images/pic6.jpg
Binary files differ
diff --git a/images/pic7.jpg b/static/images/pic7.jpg
index b430591..b430591 100644
--- a/images/pic7.jpg
+++ b/static/images/pic7.jpg
Binary files differ
diff --git a/images/pic8.jpg b/static/images/pic8.jpg
index 8dea6fb..8dea6fb 100644
--- a/images/pic8.jpg
+++ b/static/images/pic8.jpg
Binary files differ
diff --git a/images/pic9.jpg b/static/images/pic9.jpg
index 9ca0cc6..9ca0cc6 100644
--- a/images/pic9.jpg
+++ b/static/images/pic9.jpg
Binary files differ
diff --git a/images/proicon1.jpg b/static/images/proicon1.jpg
index db7eb17..db7eb17 100644
--- a/images/proicon1.jpg
+++ b/static/images/proicon1.jpg
Binary files differ
diff --git a/images/proicon10.jpg b/static/images/proicon10.jpg
index 1af4c75..1af4c75 100644
--- a/images/proicon10.jpg
+++ b/static/images/proicon10.jpg
Binary files differ
diff --git a/images/proicon2.jpg b/static/images/proicon2.jpg
index 2038512..2038512 100644
--- a/images/proicon2.jpg
+++ b/static/images/proicon2.jpg
Binary files differ
diff --git a/images/proicon3.jpg b/static/images/proicon3.jpg
index b93ace3..b93ace3 100644
--- a/images/proicon3.jpg
+++ b/static/images/proicon3.jpg
Binary files differ
diff --git a/images/proicon4.jpg b/static/images/proicon4.jpg
index b8761cf..b8761cf 100644
--- a/images/proicon4.jpg
+++ b/static/images/proicon4.jpg
Binary files differ
diff --git a/images/proicon5.jpg b/static/images/proicon5.jpg
index b086c02..b086c02 100644
--- a/images/proicon5.jpg
+++ b/static/images/proicon5.jpg
Binary files differ
diff --git a/images/proicon6.jpg b/static/images/proicon6.jpg
index 7fedfc8..7fedfc8 100644
--- a/images/proicon6.jpg
+++ b/static/images/proicon6.jpg
Binary files differ
diff --git a/images/proicon7.jpg b/static/images/proicon7.jpg
index 1bcfc6d..1bcfc6d 100644
--- a/images/proicon7.jpg
+++ b/static/images/proicon7.jpg
Binary files differ
diff --git a/images/proicon8.jpg b/static/images/proicon8.jpg
index ff77489..ff77489 100644
--- a/images/proicon8.jpg
+++ b/static/images/proicon8.jpg
Binary files differ
diff --git a/images/proicon9.jpg b/static/images/proicon9.jpg
index f077270..f077270 100644
--- a/images/proicon9.jpg
+++ b/static/images/proicon9.jpg
Binary files differ
diff --git a/papers/thesis-anastasis-2020.pdf b/static/papers/thesis-anastasis-2020.pdf
index 94e78af..94e78af 100644
--- a/papers/thesis-anastasis-2020.pdf
+++ b/static/papers/thesis-anastasis-2020.pdf
Binary files differ
diff --git a/pdf/anastasis_documentation.pdf b/static/pdf/anastasis_documentation.pdf
index 4d03f5b..4d03f5b 100644
--- a/pdf/anastasis_documentation.pdf
+++ b/static/pdf/anastasis_documentation.pdf
Binary files differ
diff --git a/presentations/info.txt b/static/presentations/info.txt
index d6da36d..d6da36d 100644
--- a/presentations/info.txt
+++ b/static/presentations/info.txt
diff --git a/static/web-common/.dir-locals.el b/static/web-common/.dir-locals.el
new file mode 100644
index 0000000..6878638
--- /dev/null
+++ b/static/web-common/.dir-locals.el
@@ -0,0 +1,16 @@
+;; Per-directory local variables for GNU Emacs 23 and later.
+
+((nil
+ . ((fill-column . 78)
+ (tab-width . 4)
+ (indent-tabs-mode . nil)
+ (show-trailing-whitespace . t)
+ (c-basic-offset . 2)
+ (ispell-check-comments . exclusive)
+ (ispell-local-dictionary . "american")
+ (safe-local-variable-values
+ '((c-default-style . "gnu")
+ (sentence-end-double-space . f)
+ (eval add-hook 'prog-mode-hook #'flyspell-prog-mode)
+ (flyspell-issue-message-flag . f) ; avoid messages for every word
+ )))))
diff --git a/static/web-common/.gitignore b/static/web-common/.gitignore
new file mode 100644
index 0000000..e64e5c1
--- /dev/null
+++ b/static/web-common/.gitignore
@@ -0,0 +1,6 @@
+Makefile
+Makefile.in
+# these should be commited pre-build to the repo, too:
+#taler-wallet-lib.js
+
+.idea
diff --git a/static/web-common/AUTHORS b/static/web-common/AUTHORS
new file mode 100644
index 0000000..7f16bf5
--- /dev/null
+++ b/static/web-common/AUTHORS
@@ -0,0 +1,2 @@
+Florian Dold
+Marcello Stanisci
diff --git a/static/web-common/Makefile.am b/static/web-common/Makefile.am
new file mode 100644
index 0000000..2dde338
--- /dev/null
+++ b/static/web-common/Makefile.am
@@ -0,0 +1,24 @@
+# This Makefile.am is in the public domain
+EXTRA_DIST = \
+ pure.css \
+ demo.css \
+ chrome-any.d.ts \
+ licensing.rst \
+ favicon-taler.ico \
+ taler-fallback.css \
+ tsconfig.json \
+ AUTHORS
+
+# Some file may be missing here...
+pkgdata_DATA = \
+ favicon-taler.ico
+
+all:
+install:
+
+%.min.js: %.js
+ python3 -m jsmin $< > $@
+
+%.js.tar.gz: %.js
+ tar czf $@ $<
+
diff --git a/static/web-common/chrome-any.d.ts b/static/web-common/chrome-any.d.ts
new file mode 100644
index 0000000..b621337
--- /dev/null
+++ b/static/web-common/chrome-any.d.ts
@@ -0,0 +1,2 @@
+// We don't really need the full declaration here, so just include this.
+declare let chrome: any;
diff --git a/static/web-common/demo.css b/static/web-common/demo.css
new file mode 100644
index 0000000..1873e2b
--- /dev/null
+++ b/static/web-common/demo.css
@@ -0,0 +1,90 @@
+@charset "UTF-8";
+/* style common to all demo pages */
+.demobar h1 {
+ text-align: center;
+}
+
+.demobar > p {
+ padding: 0.5em;
+}
+
+.demobar a,
+.demobar a:visited {
+ color: inherit;
+}
+
+.adorn-brackets::before {
+ content: "❬";
+ color: #aa3939;
+}
+
+.adorn-brackets::after {
+ content: "❭";
+ color: #aa3939;
+}
+
+.tt {
+ font-family: "Lucida Console", Monaco, monospace;
+}
+
+.informational-ok {
+ background: lightgreen;
+ border-radius: 1em;
+ padding: 0.5em;
+}
+
+.informational-fail {
+ background: lightpink;
+ border-radius: 1em;
+ padding: 0.5em;
+}
+
+.content {
+ overflow-x: auto;
+}
+
+.demobar {
+ overflow-x: auto;
+ background-color: #033;
+ color: white;
+}
+
+body {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+body * {
+ /* margin-left: 0.5vw; */
+ left: 0.1vw;
+}
+
+@media (min-width: 500px) {
+ .content {
+ /* margin-left: 0vw; */
+ padding-left: 2em;
+ margin-right: 1em;
+ overflow-x: hidden;
+ overflow-y: auto;
+ }
+
+ .demobar {
+ /* height: 100%; */
+ /* width: 25%; */
+ /* NOTE: Please use "vh"/"vw" instead of "%" when possible, in the future. */
+ height: min-content;
+ width: 100vw;
+ margin: 0;
+ top: 0;
+ left: 0;
+ background-color: #033;
+ color: white;
+ position: relative;
+ padding-right: 1em;
+ overflow-x: hidden;
+ overflow-y: auto;
+ text-align: center;
+ }
+}
+
+/*# sourceMappingURL=demo.css.map */
diff --git a/static/web-common/favicon-taler.ico b/static/web-common/favicon-taler.ico
new file mode 100644
index 0000000..6702382
--- /dev/null
+++ b/static/web-common/favicon-taler.ico
Binary files differ
diff --git a/static/web-common/licensing.rst b/static/web-common/licensing.rst
new file mode 100644
index 0000000..05c13b9
--- /dev/null
+++ b/static/web-common/licensing.rst
@@ -0,0 +1,2 @@
+The copyright of all the HTML/CSS/JavaScript files in this directory
+is owned by INRIA.
diff --git a/static/web-common/navbar.css b/static/web-common/navbar.css
new file mode 100644
index 0000000..aabacc3
--- /dev/null
+++ b/static/web-common/navbar.css
@@ -0,0 +1,75 @@
+/**
+ * @author Torsten Grothoff
+ * @name navbar.css
+ * @description Makes the navigation bar have styles
+ * @license LGPL-3.0-or-later
+ */
+.navcontainer {
+ overflow: hidden;
+ background: #144;
+ margin-bottom: 50px;
+ width: 100%;
+ color: white;
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0px;
+ width: 100vw;
+ backdrop-filter: blur(10px);
+ opacity: 1;
+ z-index: 10000;
+}
+
+nav {
+ left: 1vw;
+ position: relative;
+ background: #144;
+ z-index: 10000;
+}
+
+nav a, nav span, .navbtn {
+ border: none;
+ color: white;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ font-size: 16px;
+ background: #00000000;
+ height: inherit;
+}
+
+nav a, nav span, .navbtn {
+ padding: 15px 32px;
+}
+
+nav a:hover, nav span:hover, .navbtn:hover {
+ background: #00000022;
+}
+
+nav a.active, nav span.active, .navbtn.active {
+ background-color: #4CAF50;
+}
+
+nav a.active:hover, nav span.active:hover, .navbtn.active:hover {
+ background: #377c39;
+}
+
+nav a, nav span, .navbtn {
+ cursor: pointer;
+}
+
+nav .right {
+ float: right;
+ margin-right: 5vw;
+}
+nav .right div.nav {
+ display: none;
+}
+nav .right div.nav:hover {
+ display: block;
+}
+
+nav .right:hover div.nav {
+ display: block;
+}
+
+/*# sourceMappingURL=navbar.css.map */
diff --git a/static/web-common/pure.css b/static/web-common/pure.css
new file mode 100644
index 0000000..7391139
--- /dev/null
+++ b/static/web-common/pure.css
@@ -0,0 +1,1508 @@
+/*!
+Pure v0.6.2
+Copyright 2013 Yahoo!
+Licensed under the BSD License.
+https://github.com/yahoo/pure/blob/master/LICENSE.md
+*/
+/*!
+normalize.css v^3.0 | MIT License | git.io/normalize
+Copyright (c) Nicolas Gallagher and Jonathan Neal
+*/
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
+ * without disabling user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * Improve readability of focused elements when they are also in an
+ * active/hover state.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ box-sizing: content-box; /* 2 */
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
+
+/*csslint important:false*/
+
+/* ==========================================================================
+ Pure Base Extras
+ ========================================================================== */
+
+/**
+ * Extra rules that Pure adds on top of Normalize.css
+ */
+
+/**
+ * Always hide an element when it has the `hidden` HTML attribute.
+ */
+
+.hidden,
+[hidden] {
+ display: none !important;
+}
+
+/**
+ * Add this class to an image to make it fit within it's fluid parent wrapper while maintaining
+ * aspect ratio.
+ */
+.pure-img {
+ max-width: 100%;
+ height: auto;
+ display: block;
+}
+
+/*csslint regex-selectors:false, known-properties:false, duplicate-properties:false*/
+
+.pure-g {
+ letter-spacing: -0.31em; /* Webkit: collapse white-space between units */
+ *letter-spacing: normal; /* reset IE < 8 */
+ *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */
+ text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */
+
+ /*
+ Sets the font stack to fonts known to work properly with the above letter
+ and word spacings. See: https://github.com/yahoo/pure/issues/41/
+
+ The following font stack makes Pure Grids work on all known environments.
+
+ * FreeSans: Ships with many Linux distros, including Ubuntu
+
+ * Arimo: Ships with Chrome OS. Arimo has to be defined before Helvetica and
+ Arial to get picked up by the browser, even though neither is available
+ in Chrome OS.
+
+ * Droid Sans: Ships with all versions of Android.
+
+ * Helvetica, Arial, sans-serif: Common font stack on OS X and Windows.
+ */
+ font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif;
+
+ /* Use flexbox when possible to avoid `letter-spacing` side-effects. */
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+
+ /* Prevents distributing space between rows */
+ -webkit-align-content: flex-start;
+ -ms-flex-line-pack: start;
+ align-content: flex-start;
+}
+
+/* IE10 display: -ms-flexbox (and display: flex in IE 11) does not work inside a table; fall back to block and rely on font hack */
+@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
+ table .pure-g {
+ display: block;
+ }
+}
+
+/* Opera as of 12 on Windows needs word-spacing.
+ The ".opera-only" selector is used to prevent actual prefocus styling
+ and is not required in markup.
+*/
+.opera-only :-o-prefocus,
+.pure-g {
+ word-spacing: -0.43em;
+}
+
+.pure-u {
+ display: inline-block;
+ *display: inline; /* IE < 8: fake inline-block */
+ zoom: 1;
+ letter-spacing: normal;
+ word-spacing: normal;
+ vertical-align: top;
+ text-rendering: auto;
+}
+
+/*
+Resets the font family back to the OS/browser's default sans-serif font,
+this the same font stack that Normalize.css sets for the `body`.
+*/
+.pure-g [class *= "pure-u"] {
+ font-family: sans-serif;
+}
+
+.pure-u-1,
+.pure-u-1-1,
+.pure-u-1-2,
+.pure-u-1-3,
+.pure-u-2-3,
+.pure-u-1-4,
+.pure-u-3-4,
+.pure-u-1-5,
+.pure-u-2-5,
+.pure-u-3-5,
+.pure-u-4-5,
+.pure-u-5-5,
+.pure-u-1-6,
+.pure-u-5-6,
+.pure-u-1-8,
+.pure-u-3-8,
+.pure-u-5-8,
+.pure-u-7-8,
+.pure-u-1-12,
+.pure-u-5-12,
+.pure-u-7-12,
+.pure-u-11-12,
+.pure-u-1-24,
+.pure-u-2-24,
+.pure-u-3-24,
+.pure-u-4-24,
+.pure-u-5-24,
+.pure-u-6-24,
+.pure-u-7-24,
+.pure-u-8-24,
+.pure-u-9-24,
+.pure-u-10-24,
+.pure-u-11-24,
+.pure-u-12-24,
+.pure-u-13-24,
+.pure-u-14-24,
+.pure-u-15-24,
+.pure-u-16-24,
+.pure-u-17-24,
+.pure-u-18-24,
+.pure-u-19-24,
+.pure-u-20-24,
+.pure-u-21-24,
+.pure-u-22-24,
+.pure-u-23-24,
+.pure-u-24-24 {
+ display: inline-block;
+ *display: inline;
+ zoom: 1;
+ letter-spacing: normal;
+ word-spacing: normal;
+ vertical-align: top;
+ text-rendering: auto;
+}
+
+.pure-u-1-24 {
+ width: 4.1667%;
+ *width: 4.1357%;
+}
+
+.pure-u-1-12,
+.pure-u-2-24 {
+ width: 8.3333%;
+ *width: 8.3023%;
+}
+
+.pure-u-1-8,
+.pure-u-3-24 {
+ width: 12.5000%;
+ *width: 12.4690%;
+}
+
+.pure-u-1-6,
+.pure-u-4-24 {
+ width: 16.6667%;
+ *width: 16.6357%;
+}
+
+.pure-u-1-5 {
+ width: 20%;
+ *width: 19.9690%;
+}
+
+.pure-u-5-24 {
+ width: 20.8333%;
+ *width: 20.8023%;
+}
+
+.pure-u-1-4,
+.pure-u-6-24 {
+ width: 25%;
+ *width: 24.9690%;
+}
+
+.pure-u-7-24 {
+ width: 29.1667%;
+ *width: 29.1357%;
+}
+
+.pure-u-1-3,
+.pure-u-8-24 {
+ width: 33.3333%;
+ *width: 33.3023%;
+}
+
+.pure-u-3-8,
+.pure-u-9-24 {
+ width: 37.5000%;
+ *width: 37.4690%;
+}
+
+.pure-u-2-5 {
+ width: 40%;
+ *width: 39.9690%;
+}
+
+.pure-u-5-12,
+.pure-u-10-24 {
+ width: 41.6667%;
+ *width: 41.6357%;
+}
+
+.pure-u-11-24 {
+ width: 45.8333%;
+ *width: 45.8023%;
+}
+
+.pure-u-1-2,
+.pure-u-12-24 {
+ width: 50%;
+ *width: 49.9690%;
+}
+
+.pure-u-13-24 {
+ width: 54.1667%;
+ *width: 54.1357%;
+}
+
+.pure-u-7-12,
+.pure-u-14-24 {
+ width: 58.3333%;
+ *width: 58.3023%;
+}
+
+.pure-u-3-5 {
+ width: 60%;
+ *width: 59.9690%;
+}
+
+.pure-u-5-8,
+.pure-u-15-24 {
+ width: 62.5000%;
+ *width: 62.4690%;
+}
+
+.pure-u-2-3,
+.pure-u-16-24 {
+ width: 66.6667%;
+ *width: 66.6357%;
+}
+
+.pure-u-17-24 {
+ width: 70.8333%;
+ *width: 70.8023%;
+}
+
+.pure-u-3-4,
+.pure-u-18-24 {
+ width: 75%;
+ *width: 74.9690%;
+}
+
+.pure-u-19-24 {
+ width: 79.1667%;
+ *width: 79.1357%;
+}
+
+.pure-u-4-5 {
+ width: 80%;
+ *width: 79.9690%;
+}
+
+.pure-u-5-6,
+.pure-u-20-24 {
+ width: 83.3333%;
+ *width: 83.3023%;
+}
+
+.pure-u-7-8,
+.pure-u-21-24 {
+ width: 87.5000%;
+ *width: 87.4690%;
+}
+
+.pure-u-11-12,
+.pure-u-22-24 {
+ width: 91.6667%;
+ *width: 91.6357%;
+}
+
+.pure-u-23-24 {
+ width: 95.8333%;
+ *width: 95.8023%;
+}
+
+.pure-u-1,
+.pure-u-1-1,
+.pure-u-5-5,
+.pure-u-24-24 {
+ width: 100%;
+}
+.pure-button {
+ /* Structure */
+ display: inline-block;
+ zoom: 1;
+ line-height: normal;
+ white-space: nowrap;
+ vertical-align: middle;
+ text-align: center;
+ cursor: pointer;
+ -webkit-user-drag: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ box-sizing: border-box;
+}
+
+/* Firefox: Get rid of the inner focus border */
+.pure-button::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+
+/* Inherit .pure-g styles */
+.pure-button-group {
+ letter-spacing: -0.31em; /* Webkit: collapse white-space between units */
+ *letter-spacing: normal; /* reset IE < 8 */
+ *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */
+ text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */
+}
+
+.opera-only :-o-prefocus,
+.pure-button-group {
+ word-spacing: -0.43em;
+}
+
+.pure-button-group .pure-button {
+ letter-spacing: normal;
+ word-spacing: normal;
+ vertical-align: top;
+ text-rendering: auto;
+}
+
+/*csslint outline-none:false*/
+
+.pure-button {
+ font-family: inherit;
+ font-size: 100%;
+ padding: 0.5em 1em;
+ color: #444; /* rgba not supported (IE 8) */
+ color: rgba(0, 0, 0, 0.80); /* rgba supported */
+ border: 1px solid #999; /*IE 6/7/8*/
+ border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/
+ background-color: #E6E6E6;
+ text-decoration: none;
+ border-radius: 2px;
+}
+
+.pure-button-hover,
+.pure-button:hover,
+.pure-button:focus {
+ /* csslint ignore:start */
+ filter: alpha(opacity=90);
+ /* csslint ignore:end */
+ background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
+ background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
+}
+.pure-button:focus {
+ outline: 0;
+}
+.pure-button-active,
+.pure-button:active {
+ box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
+ border-color: #000\9;
+}
+
+.pure-button[disabled],
+.pure-button-disabled,
+.pure-button-disabled:hover,
+.pure-button-disabled:focus,
+.pure-button-disabled:active {
+ border: none;
+ background-image: none;
+ /* csslint ignore:start */
+ filter: alpha(opacity=40);
+ /* csslint ignore:end */
+ opacity: 0.40;
+ cursor: not-allowed;
+ box-shadow: none;
+ pointer-events: none;
+}
+
+.pure-button-hidden {
+ display: none;
+}
+
+.pure-button-primary,
+.pure-button-selected,
+a.pure-button-primary,
+a.pure-button-selected {
+ background-color: rgb(0, 120, 231);
+ color: #fff;
+}
+
+/* Button Groups */
+.pure-button-group .pure-button {
+ margin: 0;
+ border-radius: 0;
+ border-right: 1px solid #111; /* fallback color for rgba() for IE7/8 */
+ border-right: 1px solid rgba(0, 0, 0, 0.2);
+
+}
+
+.pure-button-group .pure-button:first-child {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+.pure-button-group .pure-button:last-child {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px;
+ border-right: none;
+}
+
+/*csslint box-model:false*/
+/*
+Box-model set to false because we're setting a height on select elements, which
+also have border and padding. This is done because some browsers don't render
+the padding. We explicitly set the box-model for select elements to border-box,
+so we can ignore the csslint warning.
+*/
+
+.pure-form input[type="text"],
+.pure-form input[type="password"],
+.pure-form input[type="email"],
+.pure-form input[type="url"],
+.pure-form input[type="date"],
+.pure-form input[type="month"],
+.pure-form input[type="time"],
+.pure-form input[type="datetime"],
+.pure-form input[type="datetime-local"],
+.pure-form input[type="week"],
+.pure-form input[type="number"],
+.pure-form input[type="search"],
+.pure-form input[type="tel"],
+.pure-form input[type="color"],
+.pure-form select,
+.pure-form textarea {
+ padding: 0.5em 0.6em;
+ display: inline-block;
+ border: 1px solid #ccc;
+ box-shadow: inset 0 1px 3px #ddd;
+ border-radius: 4px;
+ vertical-align: middle;
+ box-sizing: border-box;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]) {
+ padding: 0.5em 0.6em;
+ display: inline-block;
+ border: 1px solid #ccc;
+ box-shadow: inset 0 1px 3px #ddd;
+ border-radius: 4px;
+ box-sizing: border-box;
+}
+
+
+/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */
+/* May be able to remove this tweak as color inputs become more standardized across browsers. */
+.pure-form input[type="color"] {
+ padding: 0.2em 0.5em;
+}
+
+
+.pure-form input[type="text"]:focus,
+.pure-form input[type="password"]:focus,
+.pure-form input[type="email"]:focus,
+.pure-form input[type="url"]:focus,
+.pure-form input[type="date"]:focus,
+.pure-form input[type="month"]:focus,
+.pure-form input[type="time"]:focus,
+.pure-form input[type="datetime"]:focus,
+.pure-form input[type="datetime-local"]:focus,
+.pure-form input[type="week"]:focus,
+.pure-form input[type="number"]:focus,
+.pure-form input[type="search"]:focus,
+.pure-form input[type="tel"]:focus,
+.pure-form input[type="color"]:focus,
+.pure-form select:focus,
+.pure-form textarea:focus {
+ outline: 0;
+ border-color: #129FEA;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type]):focus {
+ outline: 0;
+ border-color: #129FEA;
+}
+
+.pure-form input[type="file"]:focus,
+.pure-form input[type="radio"]:focus,
+.pure-form input[type="checkbox"]:focus {
+ outline: thin solid #129FEA;
+ outline: 1px auto #129FEA;
+}
+.pure-form .pure-checkbox,
+.pure-form .pure-radio {
+ margin: 0.5em 0;
+ display: block;
+}
+
+.pure-form input[type="text"][disabled],
+.pure-form input[type="password"][disabled],
+.pure-form input[type="email"][disabled],
+.pure-form input[type="url"][disabled],
+.pure-form input[type="date"][disabled],
+.pure-form input[type="month"][disabled],
+.pure-form input[type="time"][disabled],
+.pure-form input[type="datetime"][disabled],
+.pure-form input[type="datetime-local"][disabled],
+.pure-form input[type="week"][disabled],
+.pure-form input[type="number"][disabled],
+.pure-form input[type="search"][disabled],
+.pure-form input[type="tel"][disabled],
+.pure-form input[type="color"][disabled],
+.pure-form select[disabled],
+.pure-form textarea[disabled] {
+ cursor: not-allowed;
+ background-color: #eaeded;
+ color: #cad2d3;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form input:not([type])[disabled] {
+ cursor: not-allowed;
+ background-color: #eaeded;
+ color: #cad2d3;
+}
+.pure-form input[readonly],
+.pure-form select[readonly],
+.pure-form textarea[readonly] {
+ background-color: #eee; /* menu hover bg color */
+ color: #777; /* menu text color */
+ border-color: #ccc;
+}
+
+.pure-form input:focus:invalid,
+.pure-form textarea:focus:invalid,
+.pure-form select:focus:invalid {
+ color: #b94a48;
+ border-color: #e9322d;
+}
+.pure-form input[type="file"]:focus:invalid:focus,
+.pure-form input[type="radio"]:focus:invalid:focus,
+.pure-form input[type="checkbox"]:focus:invalid:focus {
+ outline-color: #e9322d;
+}
+.pure-form select {
+ /* Normalizes the height; padding is not sufficient. */
+ height: 2.25em;
+ border: 1px solid #ccc;
+ background-color: white;
+}
+.pure-form select[multiple] {
+ height: auto;
+}
+.pure-form label {
+ margin: 0.5em 0 0.2em;
+}
+.pure-form fieldset {
+ margin: 0;
+ padding: 0.35em 0 0.75em;
+ border: 0;
+}
+.pure-form legend {
+ display: block;
+ width: 100%;
+ padding: 0.3em 0;
+ margin-bottom: 0.3em;
+ color: #333;
+ border-bottom: 1px solid #e5e5e5;
+}
+
+.pure-form-stacked input[type="text"],
+.pure-form-stacked input[type="password"],
+.pure-form-stacked input[type="email"],
+.pure-form-stacked input[type="url"],
+.pure-form-stacked input[type="date"],
+.pure-form-stacked input[type="month"],
+.pure-form-stacked input[type="time"],
+.pure-form-stacked input[type="datetime"],
+.pure-form-stacked input[type="datetime-local"],
+.pure-form-stacked input[type="week"],
+.pure-form-stacked input[type="number"],
+.pure-form-stacked input[type="search"],
+.pure-form-stacked input[type="tel"],
+.pure-form-stacked input[type="color"],
+.pure-form-stacked input[type="file"],
+.pure-form-stacked select,
+.pure-form-stacked label,
+.pure-form-stacked textarea {
+ display: block;
+ margin: 0.25em 0;
+}
+
+/*
+Need to separate out the :not() selector from the rest of the CSS 2.1 selectors
+since IE8 won't execute CSS that contains a CSS3 selector.
+*/
+.pure-form-stacked input:not([type]) {
+ display: block;
+ margin: 0.25em 0;
+}
+.pure-form-aligned input,
+.pure-form-aligned textarea,
+.pure-form-aligned select,
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline instead. */
+.pure-form-aligned .pure-help-inline,
+.pure-form-message-inline {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+ vertical-align: middle;
+}
+.pure-form-aligned textarea {
+ vertical-align: top;
+}
+
+/* Aligned Forms */
+.pure-form-aligned .pure-control-group {
+ margin-bottom: 0.5em;
+}
+.pure-form-aligned .pure-control-group label {
+ text-align: right;
+ display: inline-block;
+ vertical-align: middle;
+ width: 10em;
+ margin: 0 1em 0 0;
+}
+.pure-form-aligned .pure-controls {
+ margin: 1.5em 0 0 11em;
+}
+
+/* Rounded Inputs */
+.pure-form input.pure-input-rounded,
+.pure-form .pure-input-rounded {
+ border-radius: 2em;
+ padding: 0.5em 1em;
+}
+
+/* Grouped Inputs */
+.pure-form .pure-group fieldset {
+ margin-bottom: 10px;
+}
+.pure-form .pure-group input,
+.pure-form .pure-group textarea {
+ display: block;
+ padding: 10px;
+ margin: 0 0 -1px;
+ border-radius: 0;
+ position: relative;
+ top: -1px;
+}
+.pure-form .pure-group input:focus,
+.pure-form .pure-group textarea:focus {
+ z-index: 3;
+}
+.pure-form .pure-group input:first-child,
+.pure-form .pure-group textarea:first-child {
+ top: 1px;
+ border-radius: 4px 4px 0 0;
+ margin: 0;
+}
+.pure-form .pure-group input:first-child:last-child,
+.pure-form .pure-group textarea:first-child:last-child {
+ top: 1px;
+ border-radius: 4px;
+ margin: 0;
+}
+.pure-form .pure-group input:last-child,
+.pure-form .pure-group textarea:last-child {
+ top: -2px;
+ border-radius: 0 0 4px 4px;
+ margin: 0;
+}
+.pure-form .pure-group button {
+ margin: 0.35em 0;
+}
+
+.pure-form .pure-input-1 {
+ width: 100%;
+}
+.pure-form .pure-input-3-4 {
+ width: 75%;
+}
+.pure-form .pure-input-2-3 {
+ width: 66%;
+}
+.pure-form .pure-input-1-2 {
+ width: 50%;
+}
+.pure-form .pure-input-1-3 {
+ width: 33%;
+}
+.pure-form .pure-input-1-4 {
+ width: 25%;
+}
+
+/* Inline help for forms */
+/* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline instead. */
+.pure-form .pure-help-inline,
+.pure-form-message-inline {
+ display: inline-block;
+ padding-left: 0.3em;
+ color: #666;
+ vertical-align: middle;
+ font-size: 0.875em;
+}
+
+/* Block help for forms */
+.pure-form-message {
+ display: block;
+ color: #666;
+ font-size: 0.875em;
+}
+
+@media only screen and (max-width : 480px) {
+ .pure-form button[type="submit"] {
+ margin: 0.7em 0 0;
+ }
+
+ .pure-form input:not([type]),
+ .pure-form input[type="text"],
+ .pure-form input[type="password"],
+ .pure-form input[type="email"],
+ .pure-form input[type="url"],
+ .pure-form input[type="date"],
+ .pure-form input[type="month"],
+ .pure-form input[type="time"],
+ .pure-form input[type="datetime"],
+ .pure-form input[type="datetime-local"],
+ .pure-form input[type="week"],
+ .pure-form input[type="number"],
+ .pure-form input[type="search"],
+ .pure-form input[type="tel"],
+ .pure-form input[type="color"],
+ .pure-form label {
+ margin-bottom: 0.3em;
+ display: block;
+ }
+
+ .pure-group input:not([type]),
+ .pure-group input[type="text"],
+ .pure-group input[type="password"],
+ .pure-group input[type="email"],
+ .pure-group input[type="url"],
+ .pure-group input[type="date"],
+ .pure-group input[type="month"],
+ .pure-group input[type="time"],
+ .pure-group input[type="datetime"],
+ .pure-group input[type="datetime-local"],
+ .pure-group input[type="week"],
+ .pure-group input[type="number"],
+ .pure-group input[type="search"],
+ .pure-group input[type="tel"],
+ .pure-group input[type="color"] {
+ margin-bottom: 0;
+ }
+
+ .pure-form-aligned .pure-control-group label {
+ margin-bottom: 0.3em;
+ text-align: left;
+ display: block;
+ width: 100%;
+ }
+
+ .pure-form-aligned .pure-controls {
+ margin: 1.5em 0 0 0;
+ }
+
+ /* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline instead. */
+ .pure-form .pure-help-inline,
+ .pure-form-message-inline,
+ .pure-form-message {
+ display: block;
+ font-size: 0.75em;
+ /* Increased bottom padding to make it group with its related input element. */
+ padding: 0.2em 0 0.8em;
+ }
+}
+
+/*csslint adjoining-classes: false, box-model:false*/
+.pure-menu {
+ box-sizing: border-box;
+}
+
+.pure-menu-fixed {
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 3;
+}
+
+.pure-menu-list,
+.pure-menu-item {
+ position: relative;
+}
+
+.pure-menu-list {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+.pure-menu-item {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+}
+
+.pure-menu-link,
+.pure-menu-heading {
+ display: block;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+/* HORIZONTAL MENU */
+.pure-menu-horizontal {
+ width: 100%;
+ white-space: nowrap;
+}
+
+.pure-menu-horizontal .pure-menu-list {
+ display: inline-block;
+}
+
+/* Initial menus should be inline-block so that they are horizontal */
+.pure-menu-horizontal .pure-menu-item,
+.pure-menu-horizontal .pure-menu-heading,
+.pure-menu-horizontal .pure-menu-separator {
+ display: inline-block;
+ *display: inline;
+ zoom: 1;
+ vertical-align: middle;
+}
+
+/* Submenus should still be display: block; */
+.pure-menu-item .pure-menu-item {
+ display: block;
+}
+
+.pure-menu-children {
+ display: none;
+ position: absolute;
+ left: 100%;
+ top: 0;
+ margin: 0;
+ padding: 0;
+ z-index: 3;
+}
+
+.pure-menu-horizontal .pure-menu-children {
+ left: 0;
+ top: auto;
+ width: inherit;
+}
+
+.pure-menu-allow-hover:hover > .pure-menu-children,
+.pure-menu-active > .pure-menu-children {
+ display: block;
+ position: absolute;
+}
+
+/* Vertical Menus - show the dropdown arrow */
+.pure-menu-has-children > .pure-menu-link:after {
+ padding-left: 0.5em;
+ content: "\25B8";
+ font-size: small;
+}
+
+/* Horizontal Menus - show the dropdown arrow */
+.pure-menu-horizontal .pure-menu-has-children > .pure-menu-link:after {
+ content: "\25BE";
+}
+
+/* scrollable menus */
+.pure-menu-scrollable {
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+
+.pure-menu-scrollable .pure-menu-list {
+ display: block;
+}
+
+.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list {
+ display: inline-block;
+}
+
+.pure-menu-horizontal.pure-menu-scrollable {
+ white-space: nowrap;
+ overflow-y: hidden;
+ overflow-x: auto;
+ -ms-overflow-style: none;
+ -webkit-overflow-scrolling: touch;
+ /* a little extra padding for this style to allow for scrollbars */
+ padding: .5em 0;
+}
+
+.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar {
+ display: none;
+}
+
+/* misc default styling */
+
+.pure-menu-separator,
+.pure-menu-horizontal .pure-menu-children .pure-menu-separator {
+ background-color: #ccc;
+ height: 1px;
+ margin: .3em 0;
+}
+
+.pure-menu-horizontal .pure-menu-separator {
+ width: 1px;
+ height: 1.3em;
+ margin: 0 .3em ;
+}
+
+/* Need to reset the separator since submenu is vertical */
+.pure-menu-horizontal .pure-menu-children .pure-menu-separator {
+ display: block;
+ width: auto;
+}
+
+.pure-menu-heading {
+ text-transform: uppercase;
+ color: #565d64;
+}
+
+.pure-menu-link {
+ color: #777;
+}
+
+.pure-menu-children {
+ background-color: #fff;
+}
+
+.pure-menu-link,
+.pure-menu-disabled,
+.pure-menu-heading {
+ padding: .5em 1em;
+}
+
+.pure-menu-disabled {
+ opacity: .5;
+}
+
+.pure-menu-disabled .pure-menu-link:hover {
+ background-color: transparent;
+}
+
+.pure-menu-active > .pure-menu-link,
+.pure-menu-link:hover,
+.pure-menu-link:focus {
+ background-color: #eee;
+}
+
+.pure-menu-selected .pure-menu-link,
+.pure-menu-selected .pure-menu-link:visited {
+ color: #000;
+}
+
+.pure-table {
+ /* Remove spacing between table cells (from Normalize.css) */
+ border-collapse: collapse;
+ border-spacing: 0;
+ empty-cells: show;
+ border: 1px solid #cbcbcb;
+}
+
+.pure-table caption {
+ color: #000;
+ font: italic 85%/1 arial, sans-serif;
+ padding: 1em 0;
+ text-align: center;
+}
+
+.pure-table td,
+.pure-table th {
+ border-left: 1px solid #cbcbcb;/* inner column border */
+ border-width: 0 0 0 1px;
+ font-size: inherit;
+ margin: 0;
+ overflow: visible; /*to make ths where the title is really long work*/
+ padding: 0.5em 1em; /* cell padding */
+}
+
+/* Consider removing this next declaration block, as it causes problems when
+there's a rowspan on the first cell. Case added to the tests. issue#432 */
+.pure-table td:first-child,
+.pure-table th:first-child {
+ border-left-width: 0;
+}
+
+.pure-table thead {
+ background-color: #e0e0e0;
+ color: #000;
+ text-align: left;
+ vertical-align: bottom;
+}
+
+/*
+striping:
+ even - #fff (white)
+ odd - #f2f2f2 (light gray)
+*/
+.pure-table td {
+ background-color: transparent;
+}
+.pure-table-odd td {
+ background-color: #f2f2f2;
+}
+
+/* nth-child selector for modern browsers */
+.pure-table-striped tr:nth-child(2n-1) td {
+ background-color: #f2f2f2;
+}
+
+/* BORDERED TABLES */
+.pure-table-bordered td {
+ border-bottom: 1px solid #cbcbcb;
+}
+.pure-table-bordered tbody > tr:last-child > td {
+ border-bottom-width: 0;
+}
+
+
+/* HORIZONTAL BORDERED TABLES */
+
+.pure-table-horizontal td,
+.pure-table-horizontal th {
+ border-width: 0 0 1px 0;
+ border-bottom: 1px solid #cbcbcb;
+}
+.pure-table-horizontal tbody > tr:last-child > td {
+ border-bottom-width: 0;
+}
diff --git a/static/web-common/taler-fallback.css b/static/web-common/taler-fallback.css
new file mode 100644
index 0000000..e403d71
--- /dev/null
+++ b/static/web-common/taler-fallback.css
@@ -0,0 +1,15 @@
+/* Fallback stylesheet. Should be included in the document as follows:
+ *
+ * <link rel="stylesheet"
+ * href="taler-fallback.css"
+ * id="taler-presence-stylesheet />
+ *
+ * When either the taler-wallet-lib is included or the wallet is presence,
+ * it will take over this stylesheet for presence detection.
+ *
+ * This fallback stylesheet makes sure that classes for presence detection
+ * are displayed correctly, even if JavaScript is disabled and the wallet
+ * is not present.
+ */
+
+.taler-installed-show { display: none; }
diff --git a/static/web-common/tsconfig.json b/static/web-common/tsconfig.json
new file mode 100644
index 0000000..8b7e894
--- /dev/null
+++ b/static/web-common/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "compilerOptions": {
+ "target": "es3",
+ "jsx": "react",
+ "experimentalDecorators": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "strictNullChecks": true,
+ "noImplicitAny": true,
+ "lib": ["ES6", "DOM"]
+ },
+ "files": [
+ "chrome-any.d.ts"
+ ]
+}
diff --git a/news/2020-06.html.j2 b/template/news/2020-06.html.j2
index e66a927..e66a927 100644
--- a/news/2020-06.html.j2
+++ b/template/news/2020-06.html.j2
diff --git a/news/2020-07.html.j2 b/template/news/2020-07.html.j2
index 91c1c78..91c1c78 100644
--- a/news/2020-07.html.j2
+++ b/template/news/2020-07.html.j2
diff --git a/news/2020-12.html.j2 b/template/news/2020-12.html.j2
index b9b0c82..b9b0c82 100644
--- a/news/2020-12.html.j2
+++ b/template/news/2020-12.html.j2
diff --git a/news/index.html.j2 b/template/news/index.html.j2
index 259ba6f..a8e1615 100644
--- a/news/index.html.j2
+++ b/template/news/index.html.j2
@@ -19,8 +19,8 @@ News
<h3>{{ item['title']|e }}</h3>
{{ item['date'] }}
<br>
- {{ item['abstract'] }} <br/>
- [<a href="{{ item['page'] }}" title="{{ item['date']}}">{{ _("read more") }}</a>]
+ {{ get_abstract(item['page'], 500) }} <br/>
+ [<a href="{{ url_localized(item['page']) }}" title="{{ item['date']}}">{{ _("read more") }}</a>]
</div>
{% endfor %}
</div>
diff --git a/www.yml b/www.yml
index cd626d4..429f2f4 100644
--- a/www.yml
+++ b/www.yml
@@ -1,14 +1,13 @@
siteconf:
- - baseurl: anastasis.lu
- newsloc: /news/
- newsdir: news
- rsstitle: anastasis.lu
- rssdescr: "News posts published by Anastasis about changes related to Anastasis"
- rssloc:
- rsslink:
- rsslang:
- docshost: docs.taler.net
-langs_full: &langs
+ baseurl: https://anastasis.lu/
+ newsloc: /news/
+ newsdir: news
+ rsstitle: anastasis.lu
+ rssdescr: "News posts published by Anastasis about changes related to Anastasis"
+ rssloc:
+ rsslink:
+ rsslang:
+langs_full:
en: English
fr: Français
it: Italiano
@@ -16,30 +15,16 @@ langs_full: &langs
de: Deutsch
ru: Ру́сский язы́к
pt: Português
-symlinks:
-staticfiles:
- - file: favicon.ico
- targets:
- - favicon.ico
- - file: robots.txt
- targets:
- - robots.txt
meetingnotes:
newsposts:
- - page: 2020-07.html
+ - page: news/2020-07.html
date: 2020-07-22
title: Bachelorthesis Anastasis finished
- abstract:
- content:
- - page: 2020-06.html
+ - page: news/2020-06.html
date: 2020-06-01
title: New Anastasis website released
- abstract:
- content:
- - page: 2020-12.html
+ - page: news/2020-12.html
date: 2020-12-01
title: Anastasis wins the ISSS excellence award
- abstract:
- content:
videoslist:
paperslist: