summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-05-27 14:12:35 +0200
committerChristian Grothoff <christian@grothoff.org>2021-05-27 14:12:35 +0200
commitcc37eb61c15f0d31775b3d3d88ae02777b35bd7a (patch)
tree0d58e37f62333435ca2a4e402f30a4b2d57b6ee5
parent851416c94731e4ff77c0f5e214a5a2b71e7071fe (diff)
downloadauditor-cc37eb61c15f0d31775b3d3d88ae02777b35bd7a.tar.gz
auditor-cc37eb61c15f0d31775b3d3d88ae02777b35bd7a.tar.bz2
auditor-cc37eb61c15f0d31775b3d3d88ae02777b35bd7a.zip
update build scripts
-rw-r--r--.gitmodules3
-rw-r--r--Makefile49
-rw-r--r--build-system/configure.py34
m---------inc0
-rw-r--r--locale/en/LC_MESSAGES/messages.po44
-rw-r--r--locale/messages.pot50
-rwxr-xr-xmake_site.py57
-rw-r--r--template/index.html.j2218
m---------web-common0
9 files changed, 256 insertions, 199 deletions
diff --git a/.gitmodules b/.gitmodules
index 86ee36b..7b488d8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
-[submodule "web-common"]
- path = web-common
- url = git://git.taler.net/web-common
[submodule "build-system/taler-build-scripts"]
path = build-system/taler-build-scripts
url = https://git.taler.net/build-common.git
diff --git a/Makefile b/Makefile
index 7b94180..3b89192 100644
--- a/Makefile
+++ b/Makefile
@@ -2,52 +2,19 @@
include build-system/config.mk
-# List of all supported languages, add new languages here!
-LANGUAGES="en"
-
# All: build HTML pages in all languages and compile the
-# TypeScript logic in web-common.
.PHONY: all
-all: locale template
- (cd web-common && $(tsc))
- (for lang in `echo $(LANGUAGES)` ; do \
- $(cp) -R web-common/*.css web-common/*.ico rendered/static/ ; \
- done)
-
-# Extract translateable strings from jinja2 templates.
-locale/messages.pot: template/*.j2
- $(python) inc/mybabel.py $(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 \
- $(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
-
-# Compile translation files for use.
-.PHONY: locale-compile
-locale-compile:
- (for lang in `echo $(LANGUAGES)`; do \
- $(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \
- 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
- $(python) ./make_site.py
+all:
+ ./inc/update-messages
+ env "BASEURL=$(opt_baseurl)" ./inc/build-site
.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
@@ -56,15 +23,13 @@ endif
install: all
$(mkdir) -p $(prefix)/$(variant)
$(cp) -r rendered/* $(prefix)/$(variant)/
-
-.PHONY: uninstall
-uninstall:
- $(rm) -rf $(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/build-system/configure.py b/build-system/configure.py
index 6b13143..e39ce59 100644
--- a/build-system/configure.py
+++ b/build-system/configure.py
@@ -4,20 +4,24 @@ from talerbuildconfig import *
b = BuildConfig()
b.enable_prefix()
-b.enable_variant()
b.enable_configmk()
-b.add_tool(PythonTool())
-b.add_tool(PyBabelTool())
-b.add_tool(PosixTool("cp"))
-b.add_tool(PosixTool("echo"))
-b.add_tool(PosixTool("env"))
-b.add_tool(PosixTool("printf"))
-b.add_tool(PosixTool("grep"))
-b.add_tool(PosixTool("mkdir"))
-b.add_tool(PosixTool("rm"))
-b.add_tool(PosixTool("sh"))
-b.add_tool(PosixTool("msgmerge"))
-b.add_tool(PosixTool("tsc"))
-b.add_tool(PosixTool("git"))
-b.add_tool(BrowserTool())
+
+# Base URL override for the site. The default (empty string)
+# will fall back to the base URL defined www.yml.
+b.use(Option("baseurl", "Override base URL that the site will run on", default="", required=False))
+
+b.use(PythonTool())
+b.use(PyBabelTool())
+b.use(PosixTool("cp"))
+b.use(PosixTool("echo"))
+b.use(PosixTool("env"))
+b.use(PosixTool("printf"))
+b.use(PosixTool("grep"))
+b.use(PosixTool("mkdir"))
+b.use(PosixTool("rm"))
+b.use(PosixTool("sh"))
+b.use(PosixTool("msgmerge"))
+b.use(PosixTool("tsc"))
+b.use(PosixTool("git"))
+b.use(BrowserTool())
b.run()
diff --git a/inc b/inc
-Subproject 76bbc33ea45cd415081f34ae93109fe5c9718fe
+Subproject 2b72c7f57d318271856f992eb2e58c133ae5179
diff --git a/locale/en/LC_MESSAGES/messages.po b/locale/en/LC_MESSAGES/messages.po
index 6e19b73..a7a6d62 100644
--- a/locale/en/LC_MESSAGES/messages.po
+++ b/locale/en/LC_MESSAGES/messages.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-10-24 21:38+0200\n"
+"POT-Creation-Date: 2021-05-27 14:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: en <LL@li.org>\n"
@@ -13,60 +13,80 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1)\n"
"Generated-By: Babel 2.3.4\n"
-#: template/index.html.j2:5 template/index.html.j2:52
+#: template/index.html.j2:5 template/index.html.j2:66
msgid "{curr} Auditor"
msgstr ""
-#: template/index.html.j2:54
+#: template/index.html.j2:68
msgid "This is an auditor for the {curr} currency."
msgstr ""
-#: template/index.html.j2:59
+#: template/index.html.j2:139
msgid "This is the Web site of the auditor for the {curr} currency."
msgstr ""
-#: template/index.html.j2:60
+#: template/index.html.j2:140
msgid ""
"In the GNU Taler system, an auditor is responsible for verifying that an "
"exchange operates correctly. If you trust us to do a good job auditing, "
"please click here:"
msgstr ""
-#: template/index.html.j2:67
+#: template/index.html.j2:147
msgid "Add Auditor"
msgstr ""
-#: template/index.html.j2:70
+#: template/index.html.j2:150
msgid ""
"This will tell your wallet that you are willing to trust exchanges that we "
"audit to handle the {curr} currency properly."
msgstr ""
-#: template/index.html.j2:73
+#: template/index.html.j2:153
msgid ""
"If you do not have a Taler wallet installed, please first install the wallet "
"from <a href=\"https://wallet.taler.net/\">wallet installation page</a>. It "
"only takes one click."
msgstr ""
-#: template/index.html.j2:84
+#: template/index.html.j2:172
+msgid "Contact"
+msgstr ""
+
+#: template/index.html.j2:177
+msgid "Docs"
+msgstr ""
+
+#: template/index.html.j2:178
+msgid "FAQ"
+msgstr ""
+
+#: template/index.html.j2:183
+msgid "Bibliography"
+msgstr ""
+
+#: template/index.html.j2:190
msgid ""
"GNU Taler is developed as part of the <a href='https://www.gnu.org/'>GNU "
"project</a> for the GNU operating system."
msgstr ""
-#: template/index.html.j2:86
+#: template/index.html.j2:192
msgid "and"
msgstr ""
-#: template/index.html.j2:89
+#: template/index.html.j2:195
msgid ""
"We are grateful for support and free hosting of this site by <a "
"href='https://www.bfh.ch/'>BFH</a>."
msgstr ""
-#: template/index.html.j2:91
+#: template/index.html.j2:197
msgid ""
"This page was created using <a href='https://www.gnu.org/'>Free Software</a> "
"only."
msgstr ""
+
+#: template/index.html.j2:199
+msgid "JavaScript license information"
+msgstr ""
diff --git a/locale/messages.pot b/locale/messages.pot
index b2802be..a6475f2 100644
--- a/locale/messages.pot
+++ b/locale/messages.pot
@@ -1,77 +1,97 @@
# Translations template for PROJECT.
-# Copyright (C) 2020 ORGANIZATION
+# Copyright (C) 2021 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-10-24 21:38+0200\n"
+"POT-Creation-Date: 2021-05-27 14:03+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.7.0\n"
+"Generated-By: Babel 2.6.0\n"
-#: template/index.html.j2:5 template/index.html.j2:52
+#: template/index.html.j2:5 template/index.html.j2:66
msgid "{curr} Auditor"
msgstr ""
-#: template/index.html.j2:54
+#: template/index.html.j2:68
msgid "This is an auditor for the {curr} currency."
msgstr ""
-#: template/index.html.j2:59
+#: template/index.html.j2:139
msgid "This is the Web site of the auditor for the {curr} currency."
msgstr ""
-#: template/index.html.j2:60
+#: template/index.html.j2:140
msgid ""
"In the GNU Taler system, an auditor is responsible for verifying that an "
"exchange operates correctly. If you trust us to do a good job auditing, "
"please click here:"
msgstr ""
-#: template/index.html.j2:67
+#: template/index.html.j2:147
msgid "Add Auditor"
msgstr ""
-#: template/index.html.j2:70
+#: template/index.html.j2:150
msgid ""
"This will tell your wallet that you are willing to trust exchanges that "
"we audit to handle the {curr} currency properly."
msgstr ""
-#: template/index.html.j2:73
+#: template/index.html.j2:153
msgid ""
"If you do not have a Taler wallet installed, please first install the "
"wallet from <a href=\"https://wallet.taler.net/\">wallet installation "
"page</a>. It only takes one click."
msgstr ""
-#: template/index.html.j2:84
+#: template/index.html.j2:172
+msgid "Contact"
+msgstr ""
+
+#: template/index.html.j2:177
+msgid "Docs"
+msgstr ""
+
+#: template/index.html.j2:178
+msgid "FAQ"
+msgstr ""
+
+#: template/index.html.j2:183
+msgid "Bibliography"
+msgstr ""
+
+#: template/index.html.j2:190
msgid ""
"GNU Taler is developed as part of the <a href='https://www.gnu.org/'>GNU "
"project</a> for the GNU operating system."
msgstr ""
-#: template/index.html.j2:86
+#: template/index.html.j2:192
msgid "and"
msgstr ""
-#: template/index.html.j2:89
+#: template/index.html.j2:195
msgid ""
"We are grateful for support and free hosting of this site by <a "
"href='https://www.bfh.ch/'>BFH</a>."
msgstr ""
-#: template/index.html.j2:91
+#: template/index.html.j2:197
msgid ""
"This page was created using <a href='https://www.gnu.org/'>Free "
"Software</a> only."
msgstr ""
+#: template/index.html.j2:199
+msgid "JavaScript license information"
+msgstr ""
+
diff --git a/make_site.py b/make_site.py
deleted file mode 100755
index baeed0f..0000000
--- a/make_site.py
+++ /dev/null
@@ -1,57 +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")
- 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("copying directories...")
-
-if __name__ == "__main__":
- main()
diff --git a/template/index.html.j2 b/template/index.html.j2
index fbd1218..f6720bb 100644
--- a/template/index.html.j2
+++ b/template/index.html.j2
@@ -1,61 +1,141 @@
<!DOCTYPE html>
-<html lang="en" data-taler-nojs="true">
-<head profile="http://www.w3.org/2005/10/profile">
- <meta charset="utf-8"/>
- <title>{{ _("{curr} Auditor").format(curr=conf['currency']) }}</title>
- <link rel="stylesheet" type="text/css" href="{{ url('static/pure.css') }}" />
- <link rel="stylesheet" type="text/css" href="{{ url('static/demo.css') }}" />
- <link rel="stylesheet" type="text/css" href="{{ url('static/taler-fallback.css') }}" id="taler-presence-stylesheet" />
- <link rel="icon" type="image/png" href="{{ url('static/favicon-taler.ico') }}" />
+<html lang="{{ lang }}">
+ <head>
+ <meta charset="utf-8"/>
+ <title>{{ _("{curr} Auditor").format(curr=conf['currency']) }}</title>
+ <script>
+ /*
+ @licstart The following is the entire license notice for the
+ JavaScript code in this page.
+ Copyright (C) 2014, 2015, 2016, 2020, 2021 Taler Systems SA
- <style type="text/css">
- a[disabled="true"] {
- pointer-events: none;
- color: grey;
- }
+ The JavaScript code in this page is free software: you can
+ redistribute it and/or modify it under the terms of the GNU
+ General Public License (GNU GPL) as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option)
+ any later version. The code is distributed WITHOUT ANY WARRANTY;
+ without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
- .bluebox {
- background-color: #C2C6FF;
- border: solid;
- border-radius: 5px;
- padding: 0.5em;
- }
- .greenbox {
- background-color: #5EFF64;
- border: solid;
- border-radius: 5px;
- padding: 0.5em;
- }
- .graybox {
- background-color: #DDDDDD;
- border: solid;
- border-radius: 5px;
- padding: 0.5em;
- }
- </style>
+ As additional permission under GNU GPL version 3 section 7, you
+ may distribute non-source (e.g., minimized or compacted) forms of
+ that code without the copy of the GNU GPL normally required by
+ section 4, provided you include this license notice and a URL
+ through which recipients can access the Corresponding Source.
- <script>
- function addAuditor() {
- taler.addAuditor({
- url: "{{ conf['auditor_url'] }}",
- currency: "{{ conf['currency'] }}",
- auditorPub: "{{ conf['auditor_pub'] }}",
- expirationStamp: (new Date(2027, 1)).getTime(),
- });
- }
- </script>
-</head>
+ @licend The above is the entire license notice
+ for the JavaScript code in this page.
+ */
+ </script>
+ <link rel="alternate" hreflang="en" href="{{ self_localized('en') }}" />
+ <link rel="alternate" hreflang="ar" href="{{ self_localized('ar') }}" />
+ <link rel="alternate" hreflang="zh-hant" href="{{ self_localized('zh_Hant') }}" />
+ <link rel="alternate" hreflang="cs" href="{{ self_localized('cs') }}" />
+ <link rel="alternate" hreflang="fr" href="{{ self_localized('fr') }}" />
+ <link rel="alternate" hreflang="de" href="{{ self_localized('de') }}" />
+ <link rel="alternate" hreflang="hi" href="{{ self_localized('hi') }}" />
+ <link rel="alternate" hreflang="hu" href="{{ self_localized('hu') }}" />
+ <link rel="alternate" hreflang="it" href="{{ self_localized('it') }}" />
+ <link rel="alternate" hreflang="ja" href="{{ self_localized('ja') }}" />
+ <link rel="alternate" hreflang="ko" href="{{ self_localized('ko') }}" />
+ <link rel="alternate" hreflang="pt" href="{{ self_localized('pt') }}" />
+ <link rel="alternate" hreflang="pt-br" href="{{ self_localized('pt_BR') }}" />
+ <link rel="alternate" hreflang="ru" href="{{ self_localized('ru') }}" />
+ <link rel="alternate" hreflang="es" href="{{ self_localized('es') }}" />
+ <link rel="alternate" hreflang="sv" href="{{ self_localized('sv') }}" />
+ <link rel="alternate" hreflang="tr" href="{{ self_localized('tr') }}" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <!-- Bootstrap core CSS -->
+ <link href="{{ url_dist('bootstrap@4.6.0/bootstrap.min.css') }}" rel="stylesheet">
+ <!-- Custom styles for this template -->
+ <link href="{{ url_static('styles.css') }}" rel="stylesheet">
+ <script src="{{ url_dist('bootstrap@4.6.0/jquery-3.5.1.slim.min.js') }}"></script>
+ <script src="{{ url_dist('bootstrap@4.6.0/bootstrap.bundle.min.js') }}"></script>
+ <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <link rel="icon" type="image/png" href="{{ url('static/favicon-taler.ico') }}" />
+ </head>
<body>
- <div class="demobar">
- <h1><span class="it">{{ _("{curr} Auditor").format(curr=conf['currency']) }}</span></h1>
- <p>
- {{ _("This is an auditor for the {curr} currency.").format(curr=conf['currency']) }}
- </p>
- </div>
+ <header class="demobar" style="display: flex; flex-direction: row; justify-content: space-between;">
+ <div style="max-width: 50em; margin-left: 2em;">
+ <h1><span class="it">{{ _("{curr} Auditor").format(curr=conf['currency']) }}</span></h1>
+ <p>
+ {{ _("This is an auditor for the {curr} currency.").format(curr=conf['currency']) }}
+ </p>
+ </div>
+ </header>
+
+ <nav class="demolist">
+ <div class="nav-item dropdown">
+ <button class="btn btn-dark dropdown-toggle"
+ type="button"
+ id="dropdownMenu1"
+ data-toggle="dropdown"
+ aria-haspopup="true"
+ aria-expanded="true">
+ <img src="{{ url_static('images/languageicon.svg') }}"
+ height="35"
+ alt="[{{lang}}]" />
+ {{ lang_full }} [{{ lang }}]
+ </button>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
+ {% if lang != 'en' %}
+ <li><a class="dropdown-item" href="{{ self_localized('en') }}">English [en]</a></li>
+ {% endif %}
+ {% if lang != 'ar' %}
+ <li><a class="dropdown-item" href="{{ self_localized('ar') }}">Arabic [ar]</a></li>
+ {% endif %}
+<!-- {% if lang != 'zh_Hant' %}
+ <li><a class="dropdown-item" href="{{ self_localized('zh_Hant') }}">Chinese [zh]</a></li>
+ {% endif %} -->
+ {% if lang != 'fr' %}
+ <li><a class="dropdown-item" href="{{ self_localized('fr') }}">Fran&ccedil;ais [fr]</a></li>
+ {% endif %}
+ {% if lang != 'de' %}
+ <li><a class="dropdown-item" href="{{ self_localized('de') }}">Deutsch [de]</a></li>
+ {% endif %}
+<!-- {% if lang != 'hi' %}
+ <li><a class="dropdown-item" href="{{ self_localized('hi') }}">Hindi [hi]</a></li>
+ {% endif %} -->
+ {% if lang != 'it' %}
+ <li><a class="dropdown-item" href="{{ self_localized('it') }}">Italiano [it]</a></li>
+ {% endif %}
+ {% if lang != 'ja' %}
+ <li><a class="dropdown-item" href="{{ self_localized('ja') }}">Japanese [ja]</a></li>
+ {% endif %}
+ {% if lang != 'ko' %}
+ <li><a class="dropdown-item" href="{{ self_localized('ko') }}">Korean [ko]</a></li>
+ {% endif %}
+<!-- {% if lang != 'pt' %}
+ <li><a class="dropdown-item" href="{{ self_localized('pt') }}">Portugu&ecirc;s [pt]</a></li>
+ {% endif %} -->
+<!-- {% if lang != 'pt_BR' %}
+ <li><a class="dropdown-item" href="{{ self_localized('pt_BR') }}">Portugu&ecirc;s (Brazil) [pt]</a></li>
+ {% endif %} -->
+ {% if lang != 'ru' %}
+ <li><a class="dropdown-item" href="{{ self_localized('ru') }}">&#x420;&#x443;&#x301;&#x441;&#x441;&#x43A;&#x438;&#x439;&#x20;&#x44F;&#x437;&#x44B;&#x301;&#x43A; [ru]</a></li>
+ {% endif %}
+ {% if lang != 'es' %}
+ <li><a class="dropdown-item" href="{{ self_localized('es') }}">Espa&ntilde;ol [es]</a></li>
+ {% endif %}
+ {% if lang != 'sv' %}
+ <li><a class="dropdown-item" href="{{ self_localized('sv') }}">Svenska [sv]</a></li>
+ {% endif %}
+ {% if lang != 'tr' %}
+ <li><a class="dropdown-item" href="{{ self_localized('tr') }}">T&uuml;rk [tr]</a></li>
+ {% endif %}
+
+ </ul>
+ </div>
+ </nav>
+
<section id="main" class="content">
- <p style="color: black;">
+ <p>
{{ _("This is the Web site of the auditor for the {curr} currency.").format(curr=conf['currency']) }}
{% trans %}
In the GNU Taler system, an auditor is responsible for verifying
@@ -77,20 +157,48 @@
{% endtrans %}
</p>
</div>
- </section>
- <footer id="footer">
- <div class="demobar">
+</section>
+
+<footer id="footer">
+ <div class="container">
+ <div class="row justify-content-center">
+ <div class="col-12">
+ <hr style="border-top: 1px solid #00000069; padding-bottom: 1em" />
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-12 col-sm-4">
+ <ul class="footer-list">
+ <li><a href="{{ url_localized('contact.html') }}">{{ _("Contact") }}</a></li>
+ </ul>
+ </div>
+ <div class="col-12 col-sm-4">
+ <ul class="footer-list">
+ <li><a href="{{ url_localized('docs.html') }}">{{ _("Docs") }}</a> /
+ <a href="{{ url_localized('faq.html') }}">{{ _("FAQ") }}</a></li>
+ </ul>
+ </div>
+ <div class="col-12 col-sm-4">
+ <ul class="footer-list">
+ <li><a href="{{ url_localized('bibliography.html') }}">{{ _("Bibliography") }}</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="text-center mt-5">
<p>
{{ _("GNU Taler is developed as part of the <a href='https://www.gnu.org/'>GNU project</a> for the GNU operating system.") }}
<br>
&copy; <a href="https://gnunet.org/en/ev.html">GNUnet e.V.</a> {{_("and") }}
- Taler Systems SA 2015-2020
+ Taler Systems SA 2015-2021
<br>
{{ _("We are grateful for support and free hosting of this site by <a href='https://www.bfh.ch/'>BFH</a>.") }}
<br>
{{ _("This page was created using <a href='https://www.gnu.org/'>Free Software</a> only.") }}
+ <br>
+ <a href="/javascript.html" data-jslicense="1">{{ _("JavaScript license information")}} </a>
</p>
</div>
- </footer>
+</footer>
</body>
</html>
diff --git a/web-common b/web-common
deleted file mode 160000
-Subproject 2457613ecc8b8971bd47119b1a02a2f290bb483