gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-landing] branch stable updated (f4633dc -> b57c38e)


From: gnunet
Subject: [GNUnet-SVN] [taler-landing] branch stable updated (f4633dc -> b57c38e)
Date: Wed, 31 May 2017 17:19:20 +0200

This is an automated email from the git hooks/post-receive script.

marcello pushed a change to branch stable
in repository landing.

    from f4633dc  remove ssi
     add 63aaa9a  submodules
     add 520c115  templating and i18n
     add b5e5521  makefile
     add 225f64a  makefile
     add be17040  urls
     add 8ffba49  more url fixes
     add 3777ea4  add style reset
     add b57c38e  ->essay shop

No new revisions were added by this update.

Summary of changes:
 Makefile.am                  |  7 +++-
 index.html => common/base.j2 |  1 +
 index.html => index.html.j2  | 53 +++++++++++++++--------------
 static/web-common            |  2 +-
 template.py                  | 80 ++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 116 insertions(+), 27 deletions(-)
 copy index.html => common/base.j2 (98%)
 rename index.html => index.html.j2 (62%)
 create mode 100755 template.py

diff --git a/Makefile.am b/Makefile.am
index c5dbd6f..e016510 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,2 +1,7 @@
-pkgdata_DATA = index.html
+pkgdata_DATA = index.html.j2
 SUBDIRS = static
+
+.PHONY: all
+
+all:
+       ./template.py
diff --git a/index.html b/common/base.j2
similarity index 98%
copy from index.html
copy to common/base.j2
index 07f5769..9a54048 100644
--- a/index.html
+++ b/common/base.j2
@@ -40,6 +40,7 @@
     <a href="." id="logo">
       <img src="static/web-common/logo-2015-medium.png" width="100" 
height="100" alt="Logo">
     </a>
+    <!--#include virtual="static/web-common/dropdown-navbar.html"-->
     <h1 class="nav">Taler Demo</h1>
   </header>
 
diff --git a/index.html b/index.html.j2
similarity index 62%
rename from index.html
rename to index.html.j2
index 07f5769..d18ba27 100644
--- a/index.html
+++ b/index.html.j2
@@ -2,10 +2,11 @@
 <html lang="en" data-taler-nojs="true">
 <head profile="http://www.w3.org/2005/10/profile";>
   <meta charset="utf-8"/>
-  <title>Taler Demonstration Framework</title>
-  <link rel="stylesheet" type="text/css" href="static/web-common/style.css" />
-  <link rel="stylesheet" type="text/css" 
href="static/web-common/taler-fallback.css" id="taler-presence-stylesheet" />
-  <link rel="icon" type="image/png" href="static/web-common/favicon-taler.ico" 
/>
+  <title>Taler Demo</title>
+  <link rel="stylesheet" type="text/css" href="{{ 
url('static/web-common/pure.css') }}" />
+  <link rel="stylesheet" type="text/css" href="{{ 
url('static/web-common/demo.css') }}" />
+  <link rel="stylesheet" type="text/css" href="{{ 
url('static/web-common/taler-fallback.css') }}" id="taler-presence-stylesheet" 
/>
+  <link rel="icon" type="image/png" href="{{ 
url('static/web-common/favicon-taler.ico') }}" />
 
   <style type="text/css">
     a[disabled="true"] {
@@ -35,18 +36,19 @@
 </head>
 
 <body>
-
-  <header>
-    <a href="." id="logo">
-      <img src="static/web-common/logo-2015-medium.png" width="100" 
height="100" alt="Logo">
-    </a>
-    <h1 class="nav">Taler Demo</h1>
-  </header>
-
-  <aside class="sidebar" id="left">
-  </aside>
-
-  <section id="main">
+  <div class="demobar">
+    <h1><span class="tt adorn-brackets">Taler Demo</span></h1>
+    <h1><span class="it"><a href="#">Introduction</a></span></h1>
+    <p>This is the entry point of the Taler demo.  Follow the instructions and 
try Taler with the other pages linked below!</p>
+    <ul>
+      <li><a href="{{ intro_url }}">Introduction</a></li>
+      <li><a href="{{ bank_url }}">Bank</a></li>
+      <li><a href="{{ merchant_blog_url }}">Essay Shop</a></li>
+      <li><a href="{{ merchant_donations_url }}">Donations</a></li>
+    </ul>
+    <p>You can learn more about Taler on our main <a 
href="https://taler.net";>website</a>.</p>
+  </div>
+  <section id="main" class="content">
     <article>
       <h2>Step 1: Install the Taler wallet</h2>
         Install the wallet from the <a 
href="https://taler.net/wallet-installation.html";>installation page</a>.
@@ -64,7 +66,7 @@
       <h2>Step 2: Withdraw coins</h2>
       <p>
 
-        Now you can withdraw coins into your wallet by going to our <a 
href="bank">bank</a>.
+        Now you can withdraw coins into your wallet by going to our <a 
href="{{ bank_url }}">bank</a>.
 
         In this demo you're paying with KUDOS, an imaginary currency.  When you
         create an account at our bank, you'll get 100 KUDOS for free.
@@ -81,12 +83,12 @@
         We have two demo merchants where you can spend your coins:
         <ul>
           <li>
-            The <a href="shop">essay store</a>, where you can pay KUDOS for
+            The <a href="{{ merchant_blog_url }}">essay store</a>, where you 
can pay KUDOS for
             individual chapters of Richard Stallman's book "Free Software, Free
             Society", which is also available for free at <a 
href="http://www.fsf.org/";>the FSF</a>.
           </li>
           <li>
-            The <a href="donations">project donation Web site</a>, where
+            The <a href="{{ merchant_donations_url }}">project donation Web 
site</a>, where
             you can show respect to a software project of your choice
             by giving them KUDOS.
           </li>
@@ -98,11 +100,11 @@
         sold articles using taler.
         <ul>
           <li>
-            The <a href="block/track">back office Web site</a>
+            The <a href="{{ merchant_blog_url }}/backoffice">back office Web 
site</a>
             allows you to track the transactions of the merchant.
           </li>
           <li>
-            The <a href="bank/public-accounts">public accounts page</a> at the 
bank
+            The <a href="{{ bank_url }}/public-accounts">public accounts 
page</a> at the bank
             allow you to observe transactions of certain bank accounts, 
including
             those of the shops, from the perspective of the bank.
           </li>
@@ -112,10 +114,11 @@
       <h2>Step 5: Reach out to us</sup></h2>
       Let us know what you think by <a href="mailto:address@hidden";>contacting 
us</a>.
     </article>
+    <hr />
+    <div class="copyright">
+      <p>Copyright &copy; 2014&mdash;2017 INRIA</p>
+      <a href="javascript.html" data-jslicense="1" 
class="jslicenseinfo">JavaScript license information</a>
+    </div>
   </section>
-  <div class="copyright">
-    <p>Copyright &copy; 2014&mdash;2016 INRIA</p>
-    <a href="/javascript" data-jslicense="1" class="jslicenseinfo">JavaScript 
license information</a>
-  </div>
 </body>
 </html>
diff --git a/static/web-common b/static/web-common
index fd80260..6dd8ca1 160000
--- a/static/web-common
+++ b/static/web-common
@@ -1 +1 @@
-Subproject commit fd80260fce96df674111f9100fa2d91c83a9a3bc
+Subproject commit 6dd8ca1675817cc0ca65f0819489234eeafaa2ed
diff --git a/template.py b/template.py
new file mode 100755
index 0000000..0bb4092
--- /dev/null
+++ b/template.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+# This file is in the public domain.
+#
+# This script runs the jinga2 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 os
+import os.path
+import sys
+import re
+import gettext
+import jinja2
+import glob
+import codecs
+import os
+import os.path
+
+env = 
jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
+        extensions=["jinja2.ext.i18n"],
+        lstrip_blocks=True,
+        trim_blocks=True,
+
+        undefined=jinja2.StrictUndefined,
+                         autoescape=False)
+
+default_ctx = {}
+default_ctx["merchant_blog_url"] = 
os.environ.get("TALER_ENV_URL_MERCHANT_BLOG", "#")
+default_ctx["merchant_donations_url"] = 
os.environ.get("TALER_ENV_URL_MERCHANT_DONATIONS", "#")
+default_ctx["intro_url"] = os.environ.get("TALER_ENV_URL_INTRO", "#")
+default_ctx["bank_url"] = os.environ.get("TALER_ENV_URL_BANK", "#")
+default_ctx["auditor_url"] = os.environ.get("TALER_ENV_URL_AUDITOR", "#")
+
+
+for in_file in glob.glob("*.j2"):
+    name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups()
+    tmpl = env.get_template(in_file)
+
+    def self_localized(other_locale):
+        """
+        Return URL for the current page in another locale.
+        """
+        return "../" + other_locale + "/" + in_file.rstrip(".j2")
+
+    def url_localized(filename):
+        return "../" + locale + "/" + filename
+
+    def url(x):
+        # TODO: look at the app root environment variable
+        # TODO: check if file exists
+        return "../" + x
+
+    for l in ("en", "de", "it", "es"):
+        locale = os.path.basename(l)
+
+        if os.path.isdir(os.path.join("./locale/", locale)):
+            tr = gettext.translation("messages",
+                                     localedir="locale",
+                                     languages=[locale])
+
+            env.install_gettext_translations(tr, newstyle=True)
+        else:
+            print("warning: locale {} not found".format(locale))
+        
+        ctx = dict(
+                lang=locale,
+                url=url,
+                self_localized=self_localized,
+                url_localized=url_localized,
+                filename=name + "." + ext)
+        ctx.update(default_ctx)
+
+        content = tmpl.render(**ctx)
+        out_name = "./" + locale + "/" + in_file.rstrip(".j2")
+        os.makedirs("./" + locale, exist_ok=True)
+
+        with codecs.open(out_name, "w", "utf-8") as f:
+            f.write(content)

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]