summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about.html.j2216
-rw-r--r--common/base.j22
-rw-r--r--common/footer.j2.inc11
-rw-r--r--common/header.j2.inc1
-rw-r--r--common/navigation.j2.inc107
-rw-r--r--developers.html.j2455
-rw-r--r--governments.html.j2299
-rw-r--r--index.html.j252
-rw-r--r--investors.html.j2183
-rw-r--r--justified-nav.css80
-rw-r--r--merchants.html.j2326
-rw-r--r--styles.css10
-rwxr-xr-xtemplate.py7
13 files changed, 807 insertions, 942 deletions
diff --git a/about.html.j2 b/about.html.j2
index 3af6dd1b..1b596b1f 100644
--- a/about.html.j2
+++ b/about.html.j2
@@ -1,116 +1,100 @@
-<!DOCTYPE html>
-<html lang="{{ _('en') }}">
- <head>
- <meta charset="UTF-8"/>
- <title>{{ _("GNU Taler") }} - {{ _("About us") }}</title>
- <meta name="description" content=""/>
- {% include "common/header.j2.inc" %}
- </head>
- <body>
- <div class="container">
- {% include "common/navigation.j2.inc" %}
- <!-- Jumbotron -->
- <div class="jumbotron">
- <h1>{{ _("About us") }}</h1>
- </div>
-
- <!-- Example row of columns -->
- <div class="row">
- <div class="col-lg-4">
- <h2><a href="http://grothoff.org/christian/">Dr. Christian Grothoff</a></h2>
- <img src="{{ url('team-images/christian-grothoff.jpg') }}" height="240" alt="Christian Grothoff" align="middle">
- <p>{{ _("GNU maintainer. Network security &amp; privacy researcher. Software architect.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="http://www.digitalekho.com/about-us/index.html">Leon Schumacher</a></h2>
- <img src="{{ url('team-images/leon-schumacher.jpg') }}" height="240" alt="Leon Schumacher" align="middle">
- <p>{{ _("Entrepreneur, Investor, Fortune 100 CIO, IT company director in different industries, ….") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>Dr. Jeffrey Burdges</h2>
- <img src="{{ url('team-images/jeff-burdges.jpg') }}" height="240" alt="Jeffrey Burdges" align="middle">
- <p>{{ _("Applied cryptography. Contact to W3c &amp; Tor.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="http://www.onete.net/">Dr. Cristina Onete</a></h2>
- <img src="{{ url('team-images/cristina-onete.jpg') }}" height="240" alt="Cristina Onete" align="middle">
- <p>{{ _("Theoretical foundations.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="https://www.stallman.org/">Dr. Richard M. Stallman</a></h2>
- <img src="{{ url('team-images/richard-stallman.jpg') }}" height="240" alt="Richard Stallman" align="middle">
- <p>{{ _("Founder of the GNU project. Ethical guidance and licensing.") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2><a href="http://sreeharsha.totakura.in/">Sree Harsha Totakura</a></h2>
- <img src="{{ url('team-images/sree-harsha-totakura.jpg') }}" height="240" alt="Sree Harsha Totakura" align="middle">
- <p>{{ _("PhD Student, TU Munich. Currently teaching.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="https://fdold.eu">Florian Dold</a></h2>
- <img src="{{ url('team-images/florian-dold.jpg') }}" height="240" alt="Florian Dold" align="middle">
- <p>{{ _("PhD Student, Inria..") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>Marcello Stanisci</h2>
- <img src="{{ url('team-images/marcello-stanisci.jpg') }}" height="240" alt="Marcello Stanisci" align="middle">
- <p>{{ _("Software engineer.") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>Dr. Nana Karlstetter</h2>
- <img src="{{ url('team-images/nana-karlstetter.jpg') }}" height="240" alt="Nana Karlstetter" align="middle">
- <p>{{ _("Sustainable business development.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>Benedikt Müller</h2>
- <p>{{ _("Software engineer. Works on libebics.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>Gabor Toth</h2>
- <p>{{ _("Software engineer.") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2><a href="https://ar.linkedin.com/in/martinolivera">Martín Olivera</a></h2>
- <p>{{ _("Translator (Spanish)") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>Greta Breveglieri</h2>
- <p>{{ _("Translator (Italian)") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>Ylenia Baldanza</h2>
- <p>{{ _("Translator (Italian)") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2><a href="https://www.nitrokey.com/">Jan Suhr</a></h2>
- <p>{{ _("Hardware security module") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="http://www.goebel-consult.de/">Hartmut Goebel</a></h2>
- <p>{{ _("Risk management") }}</p>
- </div>
- <div class="col-lg-4">
- <h2><a href="https://www.sec.in.tum.de/julian-kirsch/">Julian Kirsch</a></h2>
- <p>{{ _("PhD student, TU Munich. Currently teaching.") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>Oliver Broome</h2>
- <p>{{ _("Software engineer. Works on Android wallet.") }}</p>
- </div>
- </div>
- {% include "common/footer.j2.inc" %}
- </div> <!-- /container -->
- </body>
-</html>
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="container">
+<div class="row">
+ <div class="col-lg-4">
+ <h2><a href="http://grothoff.org/christian/">Dr. Christian Grothoff</a></h2>
+ <img src="{{ url('team-images/christian-grothoff.jpg') }}" height="240" alt="Christian Grothoff" align="middle">
+ <p>{{ _("GNU maintainer. Network security &amp; privacy researcher. Software architect.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="http://www.digitalekho.com/about-us/index.html">Leon Schumacher</a></h2>
+ <img src="{{ url('team-images/leon-schumacher.jpg') }}" height="240" alt="Leon Schumacher" align="middle">
+ <p>{{ _("Entrepreneur, Investor, Fortune 100 CIO, IT company director in different industries, ….") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2>Dr. Jeffrey Burdges</h2>
+ <img src="{{ url('team-images/jeff-burdges.jpg') }}" height="240" alt="Jeffrey Burdges" align="middle">
+ <p>{{ _("Applied cryptography. Contact to W3c &amp; Tor.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="http://www.onete.net/">Dr. Cristina Onete</a></h2>
+ <img src="{{ url('team-images/cristina-onete.jpg') }}" height="240" alt="Cristina Onete" align="middle">
+ <p>{{ _("Theoretical foundations.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="https://www.stallman.org/">Dr. Richard M. Stallman</a></h2>
+ <img src="{{ url('team-images/richard-stallman.jpg') }}" height="240" alt="Richard Stallman" align="middle">
+ <p>{{ _("Founder of the GNU project. Ethical guidance and licensing.") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2><a href="http://sreeharsha.totakura.in/">Sree Harsha Totakura</a></h2>
+ <img src="{{ url('team-images/sree-harsha-totakura.jpg') }}" height="240" alt="Sree Harsha Totakura" align="middle">
+ <p>{{ _("PhD Student, TU Munich. Currently teaching.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="https://fdold.eu">Florian Dold</a></h2>
+ <img src="{{ url('team-images/florian-dold.jpg') }}" height="240" alt="Florian Dold" align="middle">
+ <p>{{ _("PhD Student, Inria..") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>Marcello Stanisci</h2>
+ <img src="{{ url('team-images/marcello-stanisci.jpg') }}" height="240" alt="Marcello Stanisci" align="middle">
+ <p>{{ _("Software engineer.") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2>Dr. Nana Karlstetter</h2>
+ <img src="{{ url('team-images/nana-karlstetter.jpg') }}" height="240" alt="Nana Karlstetter" align="middle">
+ <p>{{ _("Sustainable business development.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>Benedikt Müller</h2>
+ <p>{{ _("Software engineer. Works on libebics.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>Gabor Toth</h2>
+ <p>{{ _("Software engineer.") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2><a href="https://ar.linkedin.com/in/martinolivera">Martín Olivera</a></h2>
+ <p>{{ _("Translator (Spanish)") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>Greta Breveglieri</h2>
+ <p>{{ _("Translator (Italian)") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>Ylenia Baldanza</h2>
+ <p>{{ _("Translator (Italian)") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2><a href="https://www.nitrokey.com/">Jan Suhr</a></h2>
+ <p>{{ _("Hardware security module") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="http://www.goebel-consult.de/">Hartmut Goebel</a></h2>
+ <p>{{ _("Risk management") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2><a href="https://www.sec.in.tum.de/julian-kirsch/">Julian Kirsch</a></h2>
+ <p>{{ _("PhD student, TU Munich. Currently teaching.") }}</p>
+ </div>
+</div>
+<div class="row">
+ <div class="col-lg-4">
+ <h2>Oliver Broome</h2>
+ <p>{{ _("Software engineer. Works on Android wallet.") }}</p>
+ </div>
+</div>
+</div>
+{% endblock body_content %}
diff --git a/common/base.j2 b/common/base.j2
index 58114b5d..d515ea1d 100644
--- a/common/base.j2
+++ b/common/base.j2
@@ -6,7 +6,7 @@
<meta name="description" content="{{ _('Taxable Anonymous Libre Electronic Reserves') }}" />
{% include "common/header.j2.inc" %}
</head>
- <body>
+ <body id="mybody">
{% include "common/navigation.j2.inc" %}
{% block body_content %}{% endblock %}
<div class="container-fluid">
diff --git a/common/footer.j2.inc b/common/footer.j2.inc
index cc96baad..f5395b34 100644
--- a/common/footer.j2.inc
+++ b/common/footer.j2.inc
@@ -1,7 +1,4 @@
- <div class="footer">
- <p>&copy; <a href="https://gnunet.org/ev">GNUnet e.V.</a> and Inria 2015, 2016, 2017</p>
- <p>{{ _("This page was created using <a href='https://www.gnu.org/'>Free Software</a> only.") }}</p>
- </div>
- <script type="text/javascript">//<![CDATA[
- activate_menu();
- //]]></script>
+<div class="footer">
+ <p>&copy; <a href="https://gnunet.org/ev">GNUnet e.V.</a> and Inria 2015, 2016, 2017</p>
+ <p>{{ _("This page was created using <a href='https://www.gnu.org/'>Free Software</a> only.") }}</p>
+</div>
diff --git a/common/header.j2.inc b/common/header.j2.inc
index 3087d23e..ab0f6ba4 100644
--- a/common/header.j2.inc
+++ b/common/header.j2.inc
@@ -32,7 +32,6 @@
<!-- Bootstrap core CSS -->
<link href="{{ url('dist/css/bootstrap.min.css') }}" rel="stylesheet">
<!-- Custom styles for this template -->
- <link href="{{ url('justified-nav.css') }}" rel="stylesheet">
<link href="{{ url('styles.css') }}" rel="stylesheet">
<script src="{{ url('menu.js') }}"></script>
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc
index d4c63c8f..ee2d74e4 100644
--- a/common/navigation.j2.inc
+++ b/common/navigation.j2.inc
@@ -1,63 +1,44 @@
- <div class="navbar navbar-fixed-top navbar-taler" role="navigation">
- <div class="navbar-header">
- <button class="navbar-toggle btn btn-default dropdown-toggle mobile-lang" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
- <img src="{{ url('images/'+lang+'.png') }}"/></img>
- <span class="caret"></span>
- </button>
- <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
- <li>
- <a href="{{ self_localized('en') }}"><img src="{{ url('images/gb.png') }}" height="15" width="23" alt="English">English</a>
- </li>
- <li>
- <a href="{{ self_localized('de') }}"><img src="{{ url('images/de.png') }}" height="15" width="25" alt="Deutsch">Deutsch</a>
- </li>
- <li>
- <a href="{{ self_localized('fr') }}"><img src="{{ url('images/fr.png') }}" height="15" width="22" alt="Français">Français</a>
- </li>
- <li>
- <a href="{{ self_localized('it') }}"><img src="{{ url('images/it.png') }}" height="15" width="22" alt="Italiano">Italiano</a>
- </li>
- <li>
- <a href="{{ self_localized('es') }}"><img src="{{ url('images/es.png') }}" height="15" width="23" alt="Español">Español</a>
- </li>
- </ul>
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- </div>
- <div class="collapse navbar-collapse" id="main-navbar">
- <ul class="nav nav-justified">
- <li class="m_index"><a href="{{ url_localized('index.html') }}">{{ _("Home") }}</a></li>
- <li class="m_investors"><a href="{{ url_localized('investors.html') }}">{{ _("Investors") }}</a></li>
- <li class="m_about"><a href="{{ url_localized('about.html') }}">{{ _("About&nbsp;us") }}</a></li>
- <li>
- <div class="dropdown nav-lang">
- <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
- <img src="{{ url('images/'+lang+'.png') }}"/></img>
- <span class="caret"></span>
- </button>
- <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
- <li>
- <a href="{{ self_localized('en') }}"><img src="{{ url('images/gb.png') }}" height="15" width="23" alt="English">English</a>
- </li>
- <li>
- <a href="{{ self_localized('de') }}"><img src="{{ url('images/de.png') }}" height="15" width="25" alt="Deutsch">Deutsch</a>
- </li>
- <li>
- <a href="{{ self_localized('fr') }}"><img src="{{ url('images/fr.png') }}" height="15" width="22" alt="Français">Français</a>
- </li>
- <li>
- <a href="{{ self_localized('it') }}"><img src="{{ url('images/it.png') }}" height="15" width="22" alt="Italiano">Italiano</a>
- </li>
- <li>
- <a href="{{ self_localized('es') }}"><img src="{{ url('images/es.png') }}" height="15" width="23" alt="Español">Español</a>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- </div>
+<nav class="navbar navbar-default">
+ <div class="container-fluid">
+ <ul class="nav navbar-nav">
+ <li class="{{ 'active' if filename == 'index.html' else '' }}"><a href="index.html">Home</a></li>
+ <li class="{{ 'active' if filename == 'investors.html' else '' }}"><a href="investors.html">Investors</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Resources <span class="caret"></span></a>
+ <ul class="dropdown-menu">
+ <li><a href="architecture.html">System Architecture</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="governments.html">Taler for Governments</a></li>
+ <li><a href="developers.html">Taler for Developers</a></li>
+ <li><a href="merchants.html">Taler for Merchants</a></li>
+ </ul>
+ </li>
+ <li class="{{ 'active' if filename == 'about.html' else '' }}"><a href="about.html">Team</a></li>
+ </ul>
+ <ul class="nav navbar-right navbar-form">
+ <li>
+ <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
+ <img src="{{ url('images/'+lang+'.png') }}"/></img>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
+ <li>
+ <a href="{{ self_localized('en') }}"><img src="{{ url('images/gb.png') }}" height="15" width="23" alt="English">English</a>
+ </li>
+ <li>
+ <a href="{{ self_localized('de') }}"><img src="{{ url('images/de.png') }}" height="15" width="25" alt="Deutsch">Deutsch</a>
+ </li>
+ <li>
+ <a href="{{ self_localized('fr') }}"><img src="{{ url('images/fr.png') }}" height="15" width="22" alt="Français">Français</a>
+ </li>
+ <li>
+ <a href="{{ self_localized('it') }}"><img src="{{ url('images/it.png') }}" height="15" width="22" alt="Italiano">Italiano</a>
+ </li>
+ <li>
+ <a href="{{ self_localized('es') }}"><img src="{{ url('images/es.png') }}" height="15" width="23" alt="Español">Español</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+</nav>
diff --git a/developers.html.j2 b/developers.html.j2
index f6023274..3cad801c 100644
--- a/developers.html.j2
+++ b/developers.html.j2
@@ -1,232 +1,223 @@
-<!DOCTYPE html>
-<html lang="{{ _('en') }}">
- <head>
- <meta charset="UTF-8"/>
- <title>{{ _("GNU Taler") }} - {{ _("Developers") }}</title>
- <meta name="description" content=""/>
- {% include "common/header.j2.inc" %}
- </head>
- <body>
- <div class="container">
- {% include "common/navigation.j2.inc" %}
- <!-- Jumbotron -->
- <div class="jumbotron">
- <h1>{{ _("Taler for developers") }}</h1>
- </div>
-
- <!-- Example row of columns -->
- <div class="row">
- <div class="col-lg-6">
- <h2>{{ _("Free") }}</h2>
-
- <p>{{ _("Taler is free software implementing an open
- protocol. Anybody is welcome to inspect our code
- and integrate our reference implementation into
- their applications. Different components of Taler
- are being made available under different
- licenses. The Affero GPLv3+ is used for the
- exchange, the LGPLv3+ is used for reference code
- demonstrating integration with merchant platforms,
- and licenses like Apache/Mozilla/GPLv3+ are used
- for wallets and related customer-facing software.
- We are open for constructive suggestions for
- maximizing the adoption of this libre payment
- platform. ") }}</p>
-
- </div>
- <div class="col-lg-6">
- <h2>{{ _("RESTful") }}</h2>
-
- <p>{{ _("Taler is designed to work on the Internet. To
- ensure that Taler payments can work with
- restrictive network setups, Taler uses a RESTful
- protocol over HTTP or HTTPS. Taler's security does
- not depend upon the use of HTTPS, but obviously
- merchants may choose to offer HTTPS for consistency
- and because it generally is better for privacy
- compared to HTTP. Taler uses JSON to encode
- structure data, making it easy to integrate Taler
- with existing Web applications. Taler's protocol
- is documented in
- detail <a href='https://api.taler.net/'>here</a>.
- ") }}</p>
-
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>{{ _("Code") }}</h2>
-
- <p>{{ _("Taler is currently primarily developed by a
- research team at Inria and GNUnet e.V. However,
- contributions from anyone are welcome. Our Git
- repositories can be cloned using the Git and HTTP
- access methods against <tt>git.taler.net</tt> with
- the name of the respective repository. A list of
- public repositories can be found in
- our <a href='https://git.taler.net/'>GitWeb</a>.
- ") }}</p>
-
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Documentation") }}</h2>
-
- <p>{{ _("In addition to this website,
- the <a href='https://git.taler.net/'>documented
- code</a> and
- the <a href='https://api.taler.net/'>API
- documentation</a>, we are in the process of
- preparing a comprehensive design document which
- will be published here soon. ") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Discussion") }}</h2>
-
- <p>{{ _("We have a mailinglist for developer discussions.
- You can subscribe to it or read the list archive at
- <a href='http://lists.gnu.org/mailman/listinfo/taler'>http://lists.gnu.org/mailman/listinfo/taler</a>.") }}</p>
- </div>
- </div>
-
- <div class="row">
- <div class="col-lg-4">
- <h2>{{ _("Regression Testing") }}</h2>
-
- <p>{{ _("We have
- <a href='https://buildbot.net/'>Buildbot</a>
- automation tests to detect regressions and check
- for portability at
- <a href='https://buildbot.taler.net/'>buildbot.taler.net</a>.
- ") }}</p>
- </div>
- <div class="col-lg-4" note="not yet operational">
- <h2>{{ _("Code Coverage Analysis") }}</h2>
-
- <p>{{ _("We use
- <a href='http://ltp.sourceforge.net/coverage/lcov.php'>LCOV</a>
- to analyze the code coverage of our tests, the
- results are available
- at <a href='https://lcov.taler.net/'>lcov.taler.net</a>.
- ") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Performance Analysis") }}</h2>
-
- <p>{{ _("We
- use <a href='https://gnunet.org/gauger'>Gauger</a>
- for performance regression analysis of the exchange
- backend
- at <a href='https://gauger.taler.net/'>gauger.taler.net</a>.
- ") }}</p>
- </div>
- </div>
-
- <div class="col-lg-12">
- <h2 id="overview">{{ _("Taler system overview") }}</h2>
-
- <p>{{ _("The Taler system consists of protocols executed among
- a number of actors with the help
- of <a href='https://www.fsf.org/'>Free Software</a>
- as illustrated in the illustration on the right.
- Typical transactions involve the following steps: ")
- }}</p>
-
- <img src="{{ url('images/system.svg') }}" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
- <ol>
- <li>{{ _("A customer instructs his <b>bank</b> to
- transfer funds from his account to the Taler
- exchange (top left). In the subject of the
- transaction, he includes an authentication
- token from his electronic <b>wallet</b>. In
- Taler terminology, the customer creates a
- reserve at the exchange. ") }}</li>
-
- <li>{{ _("Once the exchange has received the wire
- transfer, it allows the customer's electronic
- wallet to <b>withdraw</b> electronic coins.
- The electronic coins are digital
- representations of the original currency from
- the transfer. It is important to note that the
- exchange does not learn the &quot;serial
- numbers&quot; of the coins created in this
- process, so it cannot tell later which customer
- purchased what at which merchant. The use of
- Taler does not change the currency or the total
- value of the funds (except for fees which the
- exchange may charge for the service). ")
- }}</li>
-
- <li>{{ _("Once the customer has the digital coins in his
- wallet, the wallet can be used to <b>spend</b>
- the coins with merchant portals that support
- the Taler payment system and accept the
- respective exchange as a business partner
- (bottom arrow). This creates a digital contract
- signed by the customer's coins and the
- merchant. If necessary, the customer can later
- use this digitally signed contract in a court
- of law to prove the exact terms of the contract
- and that he paid the respective amount. The
- customer does not learn the banking details of
- the merchant, and Taler does not require the
- merchant to learn the identity of the
- customer. Naturally, the customer can spend any
- fraction of his digital coins (the system takes
- care of customers getting change). ") }}</li>
-
- <li>{{ _("Merchants receiving digital
- coins <b>deposit</b> the respective receipts
- that resulted from the contract signing with
- the customer at the exchange to redeem the
- coins. The deposit step does not reveal the
- details of the contract between the customer
- and the merchant or the identity of the
- customer to the exchange in any way. However,
- the exchange does learn the identity of the
- merchant via the provided bank routing
- information. The merchant can, for example
- when compelled by the state for taxation,
- provide information linking the individual
- deposit to the respective contract signed by
- the customer. Thus, the exchange's database
- allows the state to enforce that merchants pay
- applicable taxes (and do not engage in illegal
- contracts). ") }}</li>
-
- <li>{{ _("Finally, the exchange transfers funds
- corresponding to the digital coins redeemed by
- the merchants to the merchant's <b>bank</b>
- account. The exchange may combine multiple
- small transactions into one larger bank
- transfer. The merchant can query the exchange
- about the relationship between the bank
- transfers and the individual claims that were
- deposited. ") }}</li>
-
- <li>{{ _("Most importantly, the exchange keeps
- cryptographic proofs that allow it to
- demonstrate that it is operating correctly to
- third parties. The system requires an
- external <b>auditor</b>, such as a
- government-appointed financial regulatory body,
- to frequently verify the exchange's databases
- and check that its bank balance matches the
- total value of the remaining coins in
- circulation. ") }}</li>
-
- <li>{{ _("Without the auditor, the exchange operators
- could embezzle funds they are holding in
- reserve. Customers and merchants cannot cheat
- each other or the exchange. If any party's
- computers are compromised, the financial damage
- is limited to the respective party and
- proportional to the funds they have in
- circulation during the period of the
- compromise. ") }}</li>
- </ol>
- <p></p>
- </div>
- {% include "common/footer.j2.inc" %}:w
- </div> <!-- /container -->
- </body>
-</html>
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="jumbotron">
+ <div class="text-center">
+ <h1>{{ _("Taler for developers") }}</h1>
+ </div>
+</div>
+
+<div class="container">
+ <div class="row">
+ <div class="col-lg-6">
+ <h2>{{ _("Free") }}</h2>
+
+ <p>{{ _("Taler is free software implementing an open
+ protocol. Anybody is welcome to inspect our code
+ and integrate our reference implementation into
+ their applications. Different components of Taler
+ are being made available under different
+ licenses. The Affero GPLv3+ is used for the
+ exchange, the LGPLv3+ is used for reference code
+ demonstrating integration with merchant platforms,
+ and licenses like Apache/Mozilla/GPLv3+ are used
+ for wallets and related customer-facing software.
+ We are open for constructive suggestions for
+ maximizing the adoption of this libre payment
+ platform. ") }}</p>
+
+ </div>
+ <div class="col-lg-6">
+ <h2>{{ _("RESTful") }}</h2>
+
+ <p>{{ _("Taler is designed to work on the Internet. To
+ ensure that Taler payments can work with
+ restrictive network setups, Taler uses a RESTful
+ protocol over HTTP or HTTPS. Taler's security does
+ not depend upon the use of HTTPS, but obviously
+ merchants may choose to offer HTTPS for consistency
+ and because it generally is better for privacy
+ compared to HTTP. Taler uses JSON to encode
+ structure data, making it easy to integrate Taler
+ with existing Web applications. Taler's protocol
+ is documented in
+ detail <a href='https://api.taler.net/'>here</a>.
+ ") }}</p>
+
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-4">
+ <h2>{{ _("Code") }}</h2>
+
+ <p>{{ _("Taler is currently primarily developed by a
+ research team at Inria and GNUnet e.V. However,
+ contributions from anyone are welcome. Our Git
+ repositories can be cloned using the Git and HTTP
+ access methods against <tt>git.taler.net</tt> with
+ the name of the respective repository. A list of
+ public repositories can be found in
+ our <a href='https://git.taler.net/'>GitWeb</a>.
+ ") }}</p>
+
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Documentation") }}</h2>
+
+ <p>{{ _("In addition to this website,
+ the <a href='https://git.taler.net/'>documented
+ code</a> and
+ the <a href='https://api.taler.net/'>API
+ documentation</a>, we are in the process of
+ preparing a comprehensive design document which
+ will be published here soon. ") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Discussion") }}</h2>
+
+ <p>{{ _("We have a mailinglist for developer discussions.
+ You can subscribe to it or read the list archive at
+ <a href='http://lists.gnu.org/mailman/listinfo/taler'>http://lists.gnu.org/mailman/listinfo/taler</a>.") }}</p>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-lg-4">
+ <h2>{{ _("Regression Testing") }}</h2>
+
+ <p>{{ _("We have
+ <a href='https://buildbot.net/'>Buildbot</a>
+ automation tests to detect regressions and check
+ for portability at
+ <a href='https://buildbot.taler.net/'>buildbot.taler.net</a>.
+ ") }}</p>
+ </div>
+ <div class="col-lg-4" note="not yet operational">
+ <h2>{{ _("Code Coverage Analysis") }}</h2>
+
+ <p>{{ _("We use
+ <a href='http://ltp.sourceforge.net/coverage/lcov.php'>LCOV</a>
+ to analyze the code coverage of our tests, the
+ results are available
+ at <a href='https://lcov.taler.net/'>lcov.taler.net</a>.
+ ") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Performance Analysis") }}</h2>
+
+ <p>{{ _("We
+ use <a href='https://gnunet.org/gauger'>Gauger</a>
+ for performance regression analysis of the exchange
+ backend
+ at <a href='https://gauger.taler.net/'>gauger.taler.net</a>.
+ ") }}</p>
+ </div>
+ </div>
+
+ <div class="col-lg-12">
+ <h2 id="overview">{{ _("Taler system overview") }}</h2>
+
+ <p>{{ _("The Taler system consists of protocols executed among
+ a number of actors with the help
+ of <a href='https://www.fsf.org/'>Free Software</a>
+ as illustrated in the illustration on the right.
+ Typical transactions involve the following steps: ")
+ }}</p>
+
+ <img src="{{ url('images/system.svg') }}" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
+ <ol>
+ <li>{{ _("A customer instructs his <b>bank</b> to
+ transfer funds from his account to the Taler
+ exchange (top left). In the subject of the
+ transaction, he includes an authentication
+ token from his electronic <b>wallet</b>. In
+ Taler terminology, the customer creates a
+ reserve at the exchange. ") }}</li>
+
+ <li>{{ _("Once the exchange has received the wire
+ transfer, it allows the customer's electronic
+ wallet to <b>withdraw</b> electronic coins.
+ The electronic coins are digital
+ representations of the original currency from
+ the transfer. It is important to note that the
+ exchange does not learn the &quot;serial
+ numbers&quot; of the coins created in this
+ process, so it cannot tell later which customer
+ purchased what at which merchant. The use of
+ Taler does not change the currency or the total
+ value of the funds (except for fees which the
+ exchange may charge for the service). ")
+ }}</li>
+
+ <li>{{ _("Once the customer has the digital coins in his
+ wallet, the wallet can be used to <b>spend</b>
+ the coins with merchant portals that support
+ the Taler payment system and accept the
+ respective exchange as a business partner
+ (bottom arrow). This creates a digital contract
+ signed by the customer's coins and the
+ merchant. If necessary, the customer can later
+ use this digitally signed contract in a court
+ of law to prove the exact terms of the contract
+ and that he paid the respective amount. The
+ customer does not learn the banking details of
+ the merchant, and Taler does not require the
+ merchant to learn the identity of the
+ customer. Naturally, the customer can spend any
+ fraction of his digital coins (the system takes
+ care of customers getting change). ") }}</li>
+
+ <li>{{ _("Merchants receiving digital
+ coins <b>deposit</b> the respective receipts
+ that resulted from the contract signing with
+ the customer at the exchange to redeem the
+ coins. The deposit step does not reveal the
+ details of the contract between the customer
+ and the merchant or the identity of the
+ customer to the exchange in any way. However,
+ the exchange does learn the identity of the
+ merchant via the provided bank routing
+ information. The merchant can, for example
+ when compelled by the state for taxation,
+ provide information linking the individual
+ deposit to the respective contract signed by
+ the customer. Thus, the exchange's database
+ allows the state to enforce that merchants pay
+ applicable taxes (and do not engage in illegal
+ contracts). ") }}</li>
+
+ <li>{{ _("Finally, the exchange transfers funds
+ corresponding to the digital coins redeemed by
+ the merchants to the merchant's <b>bank</b>
+ account. The exchange may combine multiple
+ small transactions into one larger bank
+ transfer. The merchant can query the exchange
+ about the relationship between the bank
+ transfers and the individual claims that were
+ deposited. ") }}</li>
+
+ <li>{{ _("Most importantly, the exchange keeps
+ cryptographic proofs that allow it to
+ demonstrate that it is operating correctly to
+ third parties. The system requires an
+ external <b>auditor</b>, such as a
+ government-appointed financial regulatory body,
+ to frequently verify the exchange's databases
+ and check that its bank balance matches the
+ total value of the remaining coins in
+ circulation. ") }}</li>
+
+ <li>{{ _("Without the auditor, the exchange operators
+ could embezzle funds they are holding in
+ reserve. Customers and merchants cannot cheat
+ each other or the exchange. If any party's
+ computers are compromised, the financial damage
+ is limited to the respective party and
+ proportional to the funds they have in
+ circulation during the period of the
+ compromise. ") }}</li>
+ </ol>
+ <p></p>
+ </div>
+ {% include "common/footer.j2.inc" %}:w
+</div> <!-- /container -->
+{% endblock body_content %}
diff --git a/governments.html.j2 b/governments.html.j2
index 2512bb22..23494400 100644
--- a/governments.html.j2
+++ b/governments.html.j2
@@ -1,155 +1,144 @@
-3<!DOCTYPE html>
-<html lang="{{ _('en') }}">
- <head>
- <meta charset="UTF-8"/>
- <title>{{ _("GNU Taler") }} - {{ _("Governments") }}</title>
- <meta name="description" content=""/>
- {% include "common/header.j2.inc" %}
- </head>
- <body>
- <div class="container">
- {% include "common/navigation.j2.inc" %}
- <!-- Jumbotron -->
- <div class="jumbotron">
- <h1>{{ _("Advantages for Governments") }}</h1>
- <!-- p><a class="btn btn-lg btn-success" href="#" role="button">Get started today</a></p -->
- <div class="col-lg-12">
-
- <p>{{ _("Taler provides accountability to ensure business
- accepting payments operate legally, while also
- respecting civil liberties of citizens spending
- digital cash. Taler is a commons, a payment system
- based on open standards and free software. Taler
- needs governments to set a financial framework and
- to act as trusted regulators. Taler contributes to
- digital sovereignty in the critial financial
- infrastructure.") }}</p>
-
- </div>
- </div>
-
- <!-- Example row of columns -->
- <div class="row">
- <div class="col-lg-6">
- <h2>{{ _("Taxable") }}</h2>
-
- <p>{{ _("Taler was
- built with the goal of fighting corruption and supporting taxation.
- With Taler, the receiver of any form of payment is
- easily identified by the government, and the merchant
- can be compelled to provide the contract that was accepted
- by the customer. Governments can use this data to
- tax businesses and individuals based on their
- income, making tax evasion and black markets less
- viable.") }}</p>
-
- <p>{{ _("Thus, despite offering anonymity for citizens
- spending digital cash to buy goods and services,
- Taler also ensures that the state can observe
- incoming funds. This can be used to ensure
- businesses engage only in legal activities, and do
- not evade income tax, sales tax or value-added tax.
- However, this observational capability does not
- extend to the immediate personal domain. In
- particular, sharing access to funds within a family
- or synchronizing wallets across multiple devices is not
- subject to monitoring.") }}</p> </div>
-
- <div class="col-lg-6">
- <h2>{{ _("Secure") }}</h2>
-
- <p>{{ _("Taler's payments are cryptographically
- secured. Thus, customers, merchants and the
- exchange can mathematically demonstrate their
- lawful behavior in court in case of
- disputes. Financial damages are strictly limited,
- improving economic security for individuals,
- merchants, the exchange and the state.") }}
-
- <p>{{ _("By design, the Taler payment service provider is
- subject to financial regulation. Financial
- regulation and regular audits are critical to
- establish trust. In particular, the Taler design
- mandates the existence of an independent auditor
- who checks cryptographic proofs that accumulate at
- the payment service provider to ensure that the
- escrow account is managed honestly. This ensures
- that the payment service provider does not threaten
- the economy due to fraud.") }}</p> </div> </div>
- <div class="row"> <div class="col-lg-6"> <h2>{{
- _("Libre") }}</h2>
-
- <p>{{ _("Taler is free software implementing an open
- protocol standard. Thus, Taler will enable
- competition and avoid the monopolization of payment
- systems that threatens global political and
- financial stability today.") }}</p>
-
-
- </div>
- <div class="col-lg-6">
- <h2>{{ _("Efficient") }}</h2>
-
- <p>{{ _("Taler has an efficient design. Unlike
- timeline-based payment systems, such as Bitcoin,
- Taler will not threaten the availability of
- national electric grids or (significantly)
- contribute to environmental pollution.") }}</p>
-
- </div>
- </div>
- <div class="col-lg-12">
- <h2 id="overview">{{ _("Taler as seen by governments") }}</h2>
-
- <p>{{ _("Governments can observe traditional wire transfers
- entering and leaving the Taler system, and require
- merchants and exchange operators to provide certain
- information during financial audits. Exchange
- operators are expected to be permanently checked by
- auditors, while merchants may be required to reveal
- information during regular tax audits. Information
- available to the government includes: ") }}</p>
-
- <p>
- <img src="{{ url('images/government.svg') }}" alt="government perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
- </p><ul>
-
- <li>{{ _("From the banking system: The total amount of
- digital currency obtained by a customer. The
- government could impose limits on how many
- digital coins a customer may withdraw within a
- given timeframe.") }}</li>
-
- <li>{{ _("From the banking system: The total amount of
- income received by any merchant via the Taler
- system.") }}</li>
-
- <li>{{ _("From auditing the exchange: The amounts of
- digital coins legitimately withdrawn by
- customers from the exchange, the value of
- non-redeemed digital coins in customer's
- wallets, the value and corresponding wire
- details of deposit operations performed by
- merchants with the exchange, and the income of
- the exchange from transaction fees.") }}</li>
-
- <li>{{ _("From auditing merchants: For each deposit
- operation, the exact details of the underlying
- contract that was signed between customer and
- merchant. However, this information would
- typically not include the identity of the
- customer. Note that while the customer can
- decide to prove that it was his transaction
- (i.e. in court when suing the merchant if the
- merchant failed to deliver on the contract),
- merchant, exchange and government cannot find
- out the customer's identity from the information
- that Taler collects.") }}</li>
-
- </ul>
- <p></p>
- </div>
- {% include "common/footer.j2.inc" %}
- </div> <!-- /container -->
- </body>
-</html>
+{% extends "common/base.j2" %}
+{% block body_content %}
+
+<div class="jumbotron">
+ <div class="container text-center">
+ <h1>{{ _("Advantages for Governments") }}</h1>
+ <p>{{ _("Taler provides accountability to ensure business
+ accepting payments operate legally, while also
+ respecting civil liberties of citizens spending
+ digital cash. Taler is a commons, a payment system
+ based on open standards and free software. Taler
+ needs governments to set a financial framework and
+ to act as trusted regulators. Taler contributes to
+ digital sovereignty in the critial financial
+ infrastructure.") }}</p>
+ </div>
+</div>
+
+<div class="container">
+
+<!-- Example row of columns -->
+<div class="row">
+ <div class="col-lg-6">
+ <h2>{{ _("Taxable") }}</h2>
+
+ <p>{{ _("Taler was
+ built with the goal of fighting corruption and supporting taxation.
+ With Taler, the receiver of any form of payment is
+ easily identified by the government, and the merchant
+ can be compelled to provide the contract that was accepted
+ by the customer. Governments can use this data to
+ tax businesses and individuals based on their
+ income, making tax evasion and black markets less
+ viable.") }}</p>
+
+ <p>{{ _("Thus, despite offering anonymity for citizens
+ spending digital cash to buy goods and services,
+ Taler also ensures that the state can observe
+ incoming funds. This can be used to ensure
+ businesses engage only in legal activities, and do
+ not evade income tax, sales tax or value-added tax.
+ However, this observational capability does not
+ extend to the immediate personal domain. In
+ particular, sharing access to funds within a family
+ or synchronizing wallets across multiple devices is not
+ subject to monitoring.") }}</p> </div>
+
+ <div class="col-lg-6">
+ <h2>{{ _("Secure") }}</h2>
+
+ <p>{{ _("Taler's payments are cryptographically
+ secured. Thus, customers, merchants and the
+ exchange can mathematically demonstrate their
+ lawful behavior in court in case of
+ disputes. Financial damages are strictly limited,
+ improving economic security for individuals,
+ merchants, the exchange and the state.") }}
+
+ <p>{{ _("By design, the Taler payment service provider is
+ subject to financial regulation. Financial
+ regulation and regular audits are critical to
+ establish trust. In particular, the Taler design
+ mandates the existence of an independent auditor
+ who checks cryptographic proofs that accumulate at
+ the payment service provider to ensure that the
+ escrow account is managed honestly. This ensures
+ that the payment service provider does not threaten
+ the economy due to fraud.") }}</p> </div> </div>
+ <div class="row"> <div class="col-lg-6"> <h2>{{
+ _("Libre") }}</h2>
+
+ <p>{{ _("Taler is free software implementing an open
+ protocol standard. Thus, Taler will enable
+ competition and avoid the monopolization of payment
+ systems that threatens global political and
+ financial stability today.") }}</p>
+
+
+ </div>
+ <div class="col-lg-6">
+ <h2>{{ _("Efficient") }}</h2>
+
+ <p>{{ _("Taler has an efficient design. Unlike
+ timeline-based payment systems, such as Bitcoin,
+ Taler will not threaten the availability of
+ national electric grids or (significantly)
+ contribute to environmental pollution.") }}</p>
+
+ </div>
+</div>
+<div class="col-lg-12">
+ <h2 id="overview">{{ _("Taler as seen by governments") }}</h2>
+
+ <p>{{ _("Governments can observe traditional wire transfers
+ entering and leaving the Taler system, and require
+ merchants and exchange operators to provide certain
+ information during financial audits. Exchange
+ operators are expected to be permanently checked by
+ auditors, while merchants may be required to reveal
+ information during regular tax audits. Information
+ available to the government includes: ") }}</p>
+
+ <p>
+ <img src="{{ url('images/government.svg') }}" alt="government perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
+ </p><ul>
+
+ <li>{{ _("From the banking system: The total amount of
+ digital currency obtained by a customer. The
+ government could impose limits on how many
+ digital coins a customer may withdraw within a
+ given timeframe.") }}</li>
+
+ <li>{{ _("From the banking system: The total amount of
+ income received by any merchant via the Taler
+ system.") }}</li>
+
+ <li>{{ _("From auditing the exchange: The amounts of
+ digital coins legitimately withdrawn by
+ customers from the exchange, the value of
+ non-redeemed digital coins in customer's
+ wallets, the value and corresponding wire
+ details of deposit operations performed by
+ merchants with the exchange, and the income of
+ the exchange from transaction fees.") }}</li>
+
+ <li>{{ _("From auditing merchants: For each deposit
+ operation, the exact details of the underlying
+ contract that was signed between customer and
+ merchant. However, this information would
+ typically not include the identity of the
+ customer. Note that while the customer can
+ decide to prove that it was his transaction
+ (i.e. in court when suing the merchant if the
+ merchant failed to deliver on the contract),
+ merchant, exchange and government cannot find
+ out the customer's identity from the information
+ that Taler collects.") }}</li>
+
+ </ul>
+ <p></p>
+</div>
+</div>
+
+{% endblock body_content %}
diff --git a/index.html.j2 b/index.html.j2
index 3d7445a1..362eedad 100644
--- a/index.html.j2
+++ b/index.html.j2
@@ -1,34 +1,32 @@
{% extends "common/base.j2" %}
{% block body_content %}
-<div class="container c_intro">
- <!-- Jumbotron -->
- <div class="jumbotron">
- <img align="middle" alt="Taler logo" width="33%" src="{{ url('taler-big.svg') }}" style="margin: 0px 0px -120px 0px;">
- </div>
- <div class="jumbotron">
- <h1>{{ _("Independent One-Click Payments!") }}</h1>
+<!-- Jumbotron -->
+<div class="jumbotron">
+ <img alt="Taler logo" width="25%" class="center-block" src="{{ url('taler-dold-2.png') }}"></img>
- <p>
- {% trans %}
- Taler is an electronic payment system under
- development
- at <a href="http://www.inria.fr/">Inria</a>. We expect to make it operational in 2017.
- Meanwhile you can learn about Taler on this website, try the <a href="https://demo.taler.net\">demo</a>
- and look at our <a href="https://docs.taler.net\">developer</a> and <a href="https://api.taler.net">API</a> documentation.
- {% endtrans %}
- </p>
-
+ <div class="container text-center">
+ <h1>{{ _("Independent One-Click Payments!") }}</h1>
+ <p>
+ {% trans %}
+ Taler is an electronic payment system under
+ development
+ at <a href="http://www.inria.fr/">Inria</a>. We expect to make it operational in 2017.
+ Meanwhile you can learn about Taler on this website, try the <a href="https://demo.taler.net\">demo</a>
+ and look at our <a href="https://docs.taler.net\">developer</a> and <a href="https://api.taler.net">API</a> documentation.
+ {% endtrans %}
+ </p>
</div>
+
</div>
<div class="contianer-fluid c_acronym">
<div class="container">
- <h2>Advantages of Taler</h2>
+ <h2>Design goals of Taler</h2>
<div class="row">
<div class="col-lg-4">
- <strong>{{ _("Taxable") }}</strong>
+ <h3>{{ _("Taxable") }}</h3>
<p>
{% trans %}
@@ -40,7 +38,7 @@
</div>
<div class="col-lg-4">
- <strong>{{ _("Privacy-friendly") }}</strong>
+ <h3>{{ _("Privacy-friendly") }}</h3>
<p>
{% trans %}
When you pay with Taler, your identity does not
@@ -53,7 +51,7 @@
</div>
<div class="col-lg-4">
- <strong>{{ _("Libre") }}</strong>
+ <h3>{{ _("Libre") }}</h3>
<p>
{% trans %}
@@ -69,7 +67,7 @@
</div>
<div class="row">
<div class="col-lg-4">
- <strong>{{ _("Practical") }}</strong>
+ <h3>{{ _("Practical") }}</h3>
<p>
{% trans %}
@@ -82,7 +80,7 @@
</div>
<div class="col-lg-4">
- <strong>{{ _("Stable") }}</strong>
+ <h3>{{ _("Stable") }}</h3>
<p>
{% trans %}
@@ -97,7 +95,7 @@
</div>
<div class="col-lg-4">
- <strong>{{ _("Security-focused") }}</strong>
+ <h3>{{ _("Security-focused") }}</h3>
<p>
{% trans %}
@@ -112,6 +110,7 @@
</div>
</div>
</div>
+
<div class="container">
<div class="row">
<div class="col-lg-6">
@@ -122,7 +121,10 @@
</div>
<div class="col-lg-6">
<h2>Receiving payments with Taler</h2>
- TODO
+ To receive Taler payments, a merchant only needs a bank account (or
+ any other kind of payment address) in the desired currency. We provide an
+ SDK in various languages that makes the integration into a merchant's store
+ painless.
</div>
</div>
<h2>Learn more</h2>
diff --git a/investors.html.j2 b/investors.html.j2
index 895682f6..9794acfd 100644
--- a/investors.html.j2
+++ b/investors.html.j2
@@ -1,102 +1,101 @@
-<!DOCTYPE html>
-<html lang="{{ _('en') }}">
- <head>
- <meta charset="UTF-8"/>
- <title>{{ _("GNU Taler") }} - {{ _("Investors") }}</title>
- <meta name="description" content=""/>
- {% include "common/header.j2.inc" %}
- </head>
- <body>
- <div class="container">
- {% include "common/navigation.j2.inc" %}
- <!-- Jumbotron -->
- <div class="jumbotron">
- <h1>{{ _("Invest in Taler!") }}</h1>
- <div class="col-lg-12">
- <p>{{ _("We have created a company, Taler Systems SA in
- Luxemburg.<br>
- Please contact <tt>invest@taler.net</tt>
- if you want to invest in Taler.") }}</p>
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>{{ _("The Team") }}</h2>
+{% extends "common/base.j2" %}
+{% block body_content %}
- <p>{{ _("Our team combines world-class business leaders,
- cryptographers, software engineers, civil-rights
- activits and academics. We are unified by a vision
- of how payments should work and the goal of
- imposing this vision upon the world.") }}</p>
+<div class="jumbotron">
+ <div class="container text-center">
+ <h1>{{ _("Invest in Taler!") }}</h1>
+ <div class="col-lg-12">
+ <p>
+ {% trans %}
+ We have created a company, Taler Systems SA in
+ Luxemburg.<br>
+ Please contact <tt>invest@taler.net</tt>
+ if you want to invest in Taler.
+ {% endtrans %}
+ </p>
+ </div>
+ </div>
+</div>
- <p>{{ _("We are currently supported by Inria, the French
- national institute for research in informatics and
- automation, and the Renewable Freedom Foundation.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>{{ _("The Technology") }}</h2>
- <p>{{ _("All transactions in Taler are secured using modern
- cryptography and trust in all parties is
- minimized. Financial damage is bounded (for
- customers, merchants and the exchange) even in the
- case that systems are compromised and private keys
- are stolen. Databases can be audited for
- consistency, resulting in either the detection of
- compromised systems or the demonstration that
- participants were honest. Actual transaction costs
- are fractions of a cent.") }}</p>
- </div>
- <div class="col-lg-4">
- <h2>{{ _("The Business") }}</h2>
- <p>{{ _("The scalable business model for Taler is the operation
- of the payment service provider, which converts money from
- traditional payment systems (Mastercard, SEPA,
- Visa, Bitcoin, ACH, SWIFT, etc.) to anonymous
- electronic coins in the same currency. The customer
- can then redeem the electronic coins at a merchant,
- who can exchange them for money represented using
- traditional payment systems at the exchange. The
- exchange charges fees (to the customer,
- merchant or both) to facilitate the transactions.")
- }}</p>
- </div>
- </div>
- <div class="col-lg-12">
- <h2 id="overview">{{ _("Taler as seen by the payment service operator") }}</h2>
+<div class="container">
+<div class="row">
+ <div class="col-lg-4">
+ <h2>{{ _("The Team") }}</h2>
- <p>{{ _("The payment service operator runs a <em>Taler
- exchange</em>, which is a Web service portal that
- keeps databases with transaction details and
- cryptographic proofs. Its operational expenses are
- thus related to its interactions with the banking
- system and the operation of the computing
- infrastructure, while its income is based on
- transaction fees it may charge for the various
- interactions. Key interactions of the exchange
- include: ") }}</p>
+ <p>{{ _("Our team combines world-class business leaders,
+ cryptographers, software engineers, civil-rights
+ activits and academics. We are unified by a vision
+ of how payments should work and the goal of
+ imposing this vision upon the world.") }}</p>
- <p>
- <img src="{{ url('images/exchange.svg') }}" alt="operator perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
- </p><ul>
- <li>{{ _("Create a <b>reserve</b> based on an incoming
- wire transfer from a customer.") }}</li>
+ <p>{{ _("We are currently supported by Inria, the French
+ national institute for research in informatics and
+ automation, and the Renewable Freedom Foundation.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("The Technology") }}</h2>
- <li>{{ _("Allow customers to withdraw (and refresh)
- digital coins from their reserve.") }}</li>
+ <p>{{ _("All transactions in Taler are secured using modern
+ cryptography and trust in all parties is
+ minimized. Financial damage is bounded (for
+ customers, merchants and the exchange) even in the
+ case that systems are compromised and private keys
+ are stolen. Databases can be audited for
+ consistency, resulting in either the detection of
+ compromised systems or the demonstration that
+ participants were honest. Actual transaction costs
+ are fractions of a cent.") }}</p>
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("The Business") }}</h2>
- <li>{{ _("Accept and validate deposits from merchants.") }}</li>
+ <p>{{ _("The scalable business model for Taler is the operation
+ of the payment service provider, which converts money from
+ traditional payment systems (Mastercard, SEPA,
+ Visa, Bitcoin, ACH, SWIFT, etc.) to anonymous
+ electronic coins in the same currency. The customer
+ can then redeem the electronic coins at a merchant,
+ who can exchange them for money represented using
+ traditional payment systems at the exchange. The
+ exchange charges fees (to the customer,
+ merchant or both) to facilitate the transactions.")
+ }}</p>
+ </div>
+</div>
+<div class="col-lg-12">
+ <h2 id="overview">{{ _("Taler as seen by the payment service operator") }}</h2>
- <li>{{ _("Execute wire transfers to merchants in
- response to validated deposits.") }}</li>
+ <p>{{ _("The payment service operator runs a <em>Taler
+ exchange</em>, which is a Web service portal that
+ keeps databases with transaction details and
+ cryptographic proofs. Its operational expenses are
+ thus related to its interactions with the banking
+ system and the operation of the computing
+ infrastructure, while its income is based on
+ transaction fees it may charge for the various
+ interactions. Key interactions of the exchange
+ include: ") }}</p>
- <li>{{ _("Preserve and provide cryptographic proofs of
- correct operation for audits by financial regulators.") }}</li>
- </ul>
- <p></p>
- </div>
- {% include "common/footer.j2.inc" %}
- </div> <!-- /container -->
- </body>
-</html>
+ <p>
+ <img src="{{ url('images/exchange.svg') }}" alt="operator perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
+ </p><ul>
+ <li>{{ _("Create a <b>reserve</b> based on an incoming
+ wire transfer from a customer.") }}</li>
+
+ <li>{{ _("Allow customers to withdraw (and refresh)
+ digital coins from their reserve.") }}</li>
+
+ <li>{{ _("Accept and validate deposits from merchants.") }}</li>
+
+ <li>{{ _("Execute wire transfers to merchants in
+ response to validated deposits.") }}</li>
+
+ <li>{{ _("Preserve and provide cryptographic proofs of
+ correct operation for audits by financial regulators.") }}</li>
+ </ul>
+ <p></p>
+
+</div>
+{% endblock body_content %}
diff --git a/justified-nav.css b/justified-nav.css
deleted file mode 100644
index b8b8b74c..00000000
--- a/justified-nav.css
+++ /dev/null
@@ -1,80 +0,0 @@
-body {
- padding-top: 20px;
-}
-
-.footer {
- padding-top: 40px;
- padding-bottom: 40px;
- margin-top: 40px;
-}
-
-/* Main marketing message and sign up button */
-.jumbotron {
- text-align: center;
- background-color: transparent;
-}
-.jumbotron .btn {
- padding: 12px 22px;
- font-size: 19px;
-}
-
-/* Customize the nav-justified links to be fill the entire space of the .navbar */
-
-.nav-justified {
- background: #fff;
-}
-.nav-justified > li > a {
- border-radius: 20px;
- padding-top: 5px;
- padding-bottom: 5px;
- margin-bottom: 5px;
- margin-left: 10px;
- margin-top: 5px;
- font-weight: normal;
- color: #000;
- text-align: center;
- font-size: large;
-}
-
-.nav-justified > .active > a,
-.nav-justified > .active > a:hover,
-.nav-justified > .active > a:focus {
- background-color: #ddd;
-}
-
-.nav-justified > li > a:hover {
- transition: background-color 0.3s;
-}
-
-.nav-justified > .m_demo > a {
- font-weight: bold;
-}
-
-
-/* Responsive: Portrait tablets and up */
-@media screen and (min-width: 768px) {
- /* Remove the padding we set earlier */
- .masthead,
- .marketing,
- .footer {
- padding-right: 0;
- padding-left: 0;
- }
-}
-
-.navbar-taler {
- background-color: #fff;
- border-bottom: 2px solid #eee;
-}
-
-.navbar-taler .navbar-toggle {
- border-color: #ddd;
-}
-.navbar-taler .navbar-toggle:hover,
-.navbar-taler .navbar-toggle:focus {
- background-color: #ddd;
-}
-.navbar-taler .navbar-toggle .icon-bar {
- background-color: #888;
-}
-
diff --git a/merchants.html.j2 b/merchants.html.j2
index ce2a47f2..304a5078 100644
--- a/merchants.html.j2
+++ b/merchants.html.j2
@@ -1,169 +1,157 @@
-<!DOCTYPE html>
-<html lang="{{ _('en') }}">
- <head>
- <meta charset="UTF-8"/>
- <title>{{ _("GNU Taler") }} - {{ _("Merchants") }}</title>
- <meta name="description" content=""/>
- {% include "common/header.j2.inc" %}
- </head>
- <body>
- <div class="container">
- {% include "common/navigation.j2.inc" %}
- <!-- Jumbotron -->
- <div class="jumbotron">
- <h1>{{ _("Advantages for Merchants") }}</h1>
- <div class="col-lg-12">
-
- <p>{{ _("Taler is a cost-effective electronic payment system
- which provides you with cryptographic proof that
- the payment worked correctly within milliseconds.
- Your Web customers pay with previously unknown
- levels of convenience without risk of fraud.")
- }}</p>
-
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>{{ _("Fast") }}</h2>
-
- <p>{{ _("Processing transactions with Taler is fast,
- allowing you to confirm the transaction with your
- customer virtually immediately. Your customers
- will appreciate that they do not have to type in
- credit card information and play the &quot;verified
- by&quot; game. By making payments significantly
- more convenient for your customers, you may be able
- to use Taler for small transactions that would not
- work with credit card payments due to the mental
- overhead for customers.") }}</p>
-
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Secure") }}</h2>
-
- <p>{{ _("You will have cryptographic proof of payment from
- the Taler payment service provider. Taler does not
- require you to undergo any particular security
- audits (such as PCI DSS), processes or procedures,
- as you never handle sensitive customer account
- information. Your systems will have customer
- contracts wih qualified signatures for all
- transactions which you can use in court in case of
- disputes.") }}</p>
-
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Free Software") }}</h2>
-
- <p>{{ _("Taler is free software, and you can use the
- liberally-licensed reference code as a starting
- point to integrate Taler into your services. To use
- Taler, you do not need to pay license fees, and the
- free software development model will ensure that
- you can select from many competent integrators for
- support.") }}</p>
-
- </div>
- </div>
- <div class="row">
- <div class="col-lg-4">
- <h2>{{ _("Low Fees") }}</h2>
-
- <p>{{ _("Taler is designed to minimize the work the exchange
- needs to perform. Combined with Taler's strong
- security which prevents fraud, payment service
- providers can operate with very low overhead and
- thus low transaction fees.") }}</p>
-
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Flexible") }}</h2>
-
- <p>{{ _("Taler can be used for different currencies (such as
- Euros, US Dollars or Bitcoins) and different
- payment models limited only by what the payment
- service provider supports in its interactions.")
- }}</p>
-
- </div>
- <div class="col-lg-4">
- <h2>{{ _("Ethical") }}</h2>
-
- <p>{{ _("Taler prevents tax evasion and money laundering.
- Taler's protocols are efficient and do not waste
- energy. Taler encourages transparency by providing
- an open standard and free software reference
- implementations.") }}</p>
-
- </div>
- </div>
- <div class="col-lg-12">
- <h2 id="overview">{{ _("Taler as seen by merchants") }}</h2>
-
- <p>{{ _("Merchants supporting the Taler system need to
- integrate some relatively simple logic into their
- transaction processing system. Typical steps
- performed by the merchant system are: ") }}</p>
-
- <p>
- <img src="{{ url('images/merchant.svg') }}" alt="merchant perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
- <ol>
-
- <li>{{ _("The new logic detects when a customer's system
- supports Taler and then needs to send a
- cryptographically signed version of the proposed
- contract in a simple JSON format to the
- customer. The message also includes salted,
- hashed wire details for the merchant, as well as
- restrictions as to which exchange operators the
- merchant is willing to deal with.") }}</li>
-
- <li>{{ _("The customer sends a signed response which
- states that certain digital coins now belong to
- the merchant to both signal acceptance of the
- deal as well as to pay the respective amount
- (bottom).") }}</li>
-
- <li>{{ _("The merchant then forwards the signed messages
- received from the customer to the exchange,
- together with its wire details and the salt
- (without hashing). The exchange verifies the
- details and sends a signed confirmation (or an
- error message) to the merchant. The merchant
- checks that the exchange's signature is valid,
- sends a confirmation to the customer and
- executes the contract-specific business
- logic.") }}</li>
-
- <li>{{ _("The exchange performs wire transfers
- corresponding to the claims deposited by the
- merchant. Note that the exchange may charge
- fees for the deposit operation, hence merchants
- may impose limits restricting the set of
- exchange operators they are willing to deal
- with, for example by imposing a bound on
- deposit fees.") }}</li>
- </ol>
- </p>
- </div>
- <div class="col-lg-12">
- <h2 id="documentation">{{ _("Manuals for merchants") }}</h2>
- <p>
- </p><ul>
- <li>{{ _("The GNU Taler merchant backend operator manual") }}
- (<a href="https://docs.taler.net/current/merchant-backend/manual.html">html</a>,
- <a href="https://docs.taler.net/current/merchant-backend/manual.pdf">pdf</a>)</li>
- <li>{{ _("The GNU Taler Web shop integration tutorial (PHP)") }}
- (<a href="https://docs.taler.net/current/merchant-shop/php/tutorial.html">html</a>,
- <a href="https://docs.taler.net/current/merchant-shop/php/tutorial.pdf">pdf</a>)</li>
- <li>{{ _("The GNU Taler Web shop integration tutorial (Python)") }}
- (<a href="https://docs.taler.net/current/merchant-shop/python/tutorial.html">html</a>,
- <a href="https://docs.taler.net/current/merchant-shop/python/tutorial.pdf">pdf</a>)</li>
- </ul>
- <p></p>
- </div>
- {% include "common/footer.j2.inc" %}
- </div> <!-- /container -->
- </body>
-</html>
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="jumbotron">
+ <div class="container text-center">
+ <h1>{{ _("Advantages for Merchants") }}</h1>
+ <p>{{ _("Taler is a cost-effective electronic payment system
+ which provides you with cryptographic proof that
+ the payment worked correctly within milliseconds.
+ Your Web customers pay with previously unknown
+ levels of convenience without risk of fraud.")
+ }}</p>
+ </div>
+</div>
+
+<div class="container">
+ <div class="row">
+ <div class="col-lg-4">
+ <h2>{{ _("Fast") }}</h2>
+
+ <p>{{ _("Processing transactions with Taler is fast,
+ allowing you to confirm the transaction with your
+ customer virtually immediately. Your customers
+ will appreciate that they do not have to type in
+ credit card information and play the &quot;verified
+ by&quot; game. By making payments significantly
+ more convenient for your customers, you may be able
+ to use Taler for small transactions that would not
+ work with credit card payments due to the mental
+ overhead for customers.") }}</p>
+
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Secure") }}</h2>
+
+ <p>{{ _("You will have cryptographic proof of payment from
+ the Taler payment service provider. Taler does not
+ require you to undergo any particular security
+ audits (such as PCI DSS), processes or procedures,
+ as you never handle sensitive customer account
+ information. Your systems will have customer
+ contracts wih qualified signatures for all
+ transactions which you can use in court in case of
+ disputes.") }}</p>
+
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Free Software") }}</h2>
+
+ <p>{{ _("Taler is free software, and you can use the
+ liberally-licensed reference code as a starting
+ point to integrate Taler into your services. To use
+ Taler, you do not need to pay license fees, and the
+ free software development model will ensure that
+ you can select from many competent integrators for
+ support.") }}</p>
+
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-4">
+ <h2>{{ _("Low Fees") }}</h2>
+
+ <p>{{ _("Taler is designed to minimize the work the exchange
+ needs to perform. Combined with Taler's strong
+ security which prevents fraud, payment service
+ providers can operate with very low overhead and
+ thus low transaction fees.") }}</p>
+
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Flexible") }}</h2>
+
+ <p>{{ _("Taler can be used for different currencies (such as
+ Euros, US Dollars or Bitcoins) and different
+ payment models limited only by what the payment
+ service provider supports in its interactions.")
+ }}</p>
+
+ </div>
+ <div class="col-lg-4">
+ <h2>{{ _("Ethical") }}</h2>
+
+ <p>{{ _("Taler prevents tax evasion and money laundering.
+ Taler's protocols are efficient and do not waste
+ energy. Taler encourages transparency by providing
+ an open standard and free software reference
+ implementations.") }}</p>
+
+ </div>
+ </div>
+ <div class="col-lg-12">
+ <h2 id="overview">{{ _("Taler as seen by merchants") }}</h2>
+
+ <p>{{ _("Merchants supporting the Taler system need to
+ integrate some relatively simple logic into their
+ transaction processing system. Typical steps
+ performed by the merchant system are: ") }}</p>
+
+ <p>
+ <img src="{{ url('images/merchant.svg') }}" alt="merchant perspective" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
+ <ol>
+
+ <li>{{ _("The new logic detects when a customer's system
+ supports Taler and then needs to send a
+ cryptographically signed version of the proposed
+ contract in a simple JSON format to the
+ customer. The message also includes salted,
+ hashed wire details for the merchant, as well as
+ restrictions as to which exchange operators the
+ merchant is willing to deal with.") }}</li>
+
+ <li>{{ _("The customer sends a signed response which
+ states that certain digital coins now belong to
+ the merchant to both signal acceptance of the
+ deal as well as to pay the respective amount
+ (bottom).") }}</li>
+
+ <li>{{ _("The merchant then forwards the signed messages
+ received from the customer to the exchange,
+ together with its wire details and the salt
+ (without hashing). The exchange verifies the
+ details and sends a signed confirmation (or an
+ error message) to the merchant. The merchant
+ checks that the exchange's signature is valid,
+ sends a confirmation to the customer and
+ executes the contract-specific business
+ logic.") }}</li>
+
+ <li>{{ _("The exchange performs wire transfers
+ corresponding to the claims deposited by the
+ merchant. Note that the exchange may charge
+ fees for the deposit operation, hence merchants
+ may impose limits restricting the set of
+ exchange operators they are willing to deal
+ with, for example by imposing a bound on
+ deposit fees.") }}</li>
+ </ol>
+ </p>
+ </div>
+ <div class="col-lg-12">
+ <h2 id="documentation">{{ _("Manuals for merchants") }}</h2>
+ <p>
+ </p><ul>
+ <li>{{ _("The GNU Taler merchant backend operator manual") }}
+ (<a href="https://docs.taler.net/current/merchant-backend/manual.html">html</a>,
+ <a href="https://docs.taler.net/current/merchant-backend/manual.pdf">pdf</a>)</li>
+ <li>{{ _("The GNU Taler Web shop integration tutorial (PHP)") }}
+ (<a href="https://docs.taler.net/current/merchant-shop/php/tutorial.html">html</a>,
+ <a href="https://docs.taler.net/current/merchant-shop/php/tutorial.pdf">pdf</a>)</li>
+ <li>{{ _("The GNU Taler Web shop integration tutorial (Python)") }}
+ (<a href="https://docs.taler.net/current/merchant-shop/python/tutorial.html">html</a>,
+ <a href="https://docs.taler.net/current/merchant-shop/python/tutorial.pdf">pdf</a>)</li>
+ </ul>
+ <p></p>
+ </div>
+</div> <!-- /container -->
+{% endblock body_content %}
diff --git a/styles.css b/styles.css
index b1d6e624..c384a0e8 100644
--- a/styles.css
+++ b/styles.css
@@ -1,3 +1,8 @@
+body .jumbotron {
+ background-color: white;
+}
+
+
.lang-slector {
float: right;
padding-top: 2mm;
@@ -28,3 +33,8 @@ html {
margin-left:5px;
margin-top: 8px;
}
+
+#mybody {
+ /* override ugly bootstrap defaults */
+ color: black;
+}
diff --git a/template.py b/template.py
index ed8f47eb..78a801ff 100755
--- a/template.py
+++ b/template.py
@@ -50,7 +50,12 @@ for in_file in glob.glob("*.j2"):
env.install_gettext_translations(tr, newstyle=True)
- content = tmpl.render(lang=locale, url=url, self_localized=self_localized, url_localized=url_localized)
+ content = tmpl.render(
+ lang=locale,
+ url=url,
+ self_localized=self_localized,
+ url_localized=url_localized,
+ filename=name + "." + ext)
out_name = "./" + locale + "/" + in_file.rstrip(".j2")
os.makedirs("./" + locale, exist_ok=True)
with codecs.open(out_name, "w", "utf-8") as f: