Replaced dislines perl script with AWK script, improved performance, simplified system
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 7 Oct 2014 19:51:49 +0000 (21:51 +0200)
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 7 Oct 2014 19:51:49 +0000 (21:51 +0200)
36 files changed:
.#dislines.pl [deleted symlink]
.#gen.sh [deleted symlink]
2048/index.es.html
2048/index.in.es.md
2048/index.in.md.de [new file with mode: 0644]
2048/index.in.md.eo [new file with mode: 0644]
2048/index.in.md.es [new file with mode: 0644]
bash [new file with mode: 0644]
de [new file with mode: 0644]
dislines.awk [new file with mode: 0755]
dwm/index.de.html
dwm/index.en.html
dwm/index.eo.html
dwm/index.in.md.de [new file with mode: 0644]
dwm/index.in.md.en [new file with mode: 0644]
dwm/index.in.md.eo [new file with mode: 0644]
en [new file with mode: 0644]
en.html.tpl [new file with mode: 0644]
eo [new file with mode: 0644]
es [new file with mode: 0644]
eval [new file with mode: 0644]
exmp [new file with mode: 0644]
gen.sh
index.de.html
index.en.html
index.eo.html
index.es.html
index.in.md.de [new file with mode: 0644]
index.in.md.en [new file with mode: 0644]
index.in.md.eo [new file with mode: 0644]
index.in.md.es [new file with mode: 0644]
mail-setup/index.en.html [new file with mode: 0644]
mail-setup/index.in.en.md [new file with mode: 0644]
mail-setup/index.in.md [new file with mode: 0644]
mail-setup/index.in.md.en [new file with mode: 0644]
template.awk [new file with mode: 0755]

diff --git a/.#dislines.pl b/.#dislines.pl
deleted file mode 120000 (symlink)
index 826051b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-gpcf@gilbert.gpcf.eu.1378:1409991676
\ No newline at end of file
diff --git a/.#gen.sh b/.#gen.sh
deleted file mode 120000 (symlink)
index 6c53304..0000000
--- a/.#gen.sh
+++ /dev/null
@@ -1 +0,0 @@
-gpcf@gilbert.gpcf.eu.1358:1410356114
\ No newline at end of file
index b510e4f..e1b9426 100644 (file)
@@ -21,7 +21,7 @@ Para descargar 2048, hay que ejecutar la orden
 se puede ver la página de ayuda usando la orden <code>man 2048</code>.</p>
 
 
-<figure><img src="/screenshots/2048.png" alt="2048 con el diseño azul y rojo" /><figcaption>2048 bajo <code>rxvt-unicode</code></figcaption></figure>
+<figure><img src="/screenshots/2048.png" alt="2048 con el diseño azul y rojo" /><figcaption>2048 en <code>rxvt-unicode</code></figcaption></figure>
 
 <p><a class="back" href="/" >&larr; Volver a la página principal</a></p>
 <div class="langs" > <a href="http://de.gpcf.eu/2048">Deutsch</a> <a href="http://eo.gpcf.eu/2048">Esperanto</a> <a href="http://es.gpcf.eu/2048">Español</a> </div>
index 8f493ce..8aae6d3 100644 (file)
@@ -11,5 +11,5 @@ Para descargar 2048, hay que ejecutar la orden
 . Una vez descargado, se puede jugar escribiendo la orden `2048`. Para obtener ayuda,
 se puede ver la página de ayuda usando la orden `man 2048`.
 
-![2048 con el diseño azul y rojo](/screenshots/2048.png "2048 bajo `rxvt-unicode`")
+![2048 con el diseño azul y rojo](/screenshots/2048.png "2048 en `rxvt-unicode`")
 [orig]: https://github.com/mevdschee/2048.c
diff --git a/2048/index.in.md.de b/2048/index.in.md.de
new file mode 100644 (file)
index 0000000..43d1ee0
--- /dev/null
@@ -0,0 +1,17 @@
+2048====
+
+Ich habe vor einigen Wochen eine [Version von 2048][orig]
+in C gefunden. Sie funktioniert zwar sehr gut, aber einige Funktionen mehr wären wünschenswert. Also
+habe ich sie erweitert, sodass sie jetzt Highscores speichert und man die Farben des Spielfelds
+verändern kann.
+
+
+Zum installieren muss man `git` und `make` installiert haben. Dann muss man
+nur noch den Befehl
+`git clone git://aubergine.gpcf.eu/2048.git && cd 2048 && make install`
+
+ausführen, um das Spiel zu installieren. Anschließend muss man `2048` eingeben, dann
+erscheint das Spiel. Der Befehl `man 2048` zeigt eine Hilfeseite auf Englisch.
+
+![2048 im Blau-Roten Design](/screenshots/2048.png "2048 unter `rxvt-unicode`")
+[orig]: https://github.com/mevdschee/2048.c
diff --git a/2048/index.in.md.eo b/2048/index.in.md.eo
new file mode 100644 (file)
index 0000000..31dca61
--- /dev/null
@@ -0,0 +1,14 @@
+2048====
+
+Mi trovis [version de 2048][orig] kiu estas skribita en C. Ĝi funcias bone, sed ĝi mankas funkciojn. Do
+mi ĝi plivastigas. Ĝi nun konservi la poentaron kaj vi povas modifi la kolorojn de la ludo. 
+
+
+Por instali 2048 vi devas instali `git` kaj `make`. Tiam vi devas fari la komandon 
+`git clone git://aubergine.gpcf.eu/2048.git && cd 2048 && make install`
+
+por elŝuti la ludon. La komando `man 2048` mostras helppaĝon. Faru la komandon `2048` por
+ludi la ludon.
+
+![2048](/screenshots/2048.png "2048")
+[orig]: https://github.com/mevdschee/2048.c
diff --git a/2048/index.in.md.es b/2048/index.in.md.es
new file mode 100644 (file)
index 0000000..11ed952
--- /dev/null
@@ -0,0 +1,16 @@
+2048====
+
+Hace unas semanas he encontrado una [versión de 2048][orig] escrita en C, que funciona muy bien,
+pero le faltan funciones. Entonces la he ampliado. Ahora ella guarda la puntuación y se puede
+cambiar el color del tablero.
+
+
+Para instalar 2048 hace falta tener los programas `git` y `make` instalados.
+Para descargar 2048, hay que ejecutar la orden
+`git clone git://aubergine.gpcf.eu/2048.git && cd 2048 && make install`
+
+. Una vez descargado, se puede jugar escribiendo la orden `2048`. Para obtener ayuda,
+se puede ver la página de ayuda usando la orden `man 2048`.
+
+![2048 con el diseño azul y rojo](/screenshots/2048.png "2048 en `rxvt-unicode`")
+[orig]: https://github.com/mevdschee/2048.c
diff --git a/bash b/bash
new file mode 100644 (file)
index 0000000..9cd03aa
--- /dev/null
+++ b/bash
@@ -0,0 +1 @@
+echo $file $title
\ No newline at end of file
diff --git a/de b/de
new file mode 100644 (file)
index 0000000..bb1934a
--- /dev/null
+++ b/de
@@ -0,0 +1,8 @@
+# Gabriels Website
+
+### [dwm][dwm]
+### [2048][2048]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/dislines.awk b/dislines.awk
new file mode 100755 (executable)
index 0000000..287058e
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/gawk -f 
+
+# Copyright (c) 2014 Gabriel Perez-Cerezo.
+
+function splittags (tagstr) {
+    split(tagstr, tags, ",")
+    for (i in tags)  {
+       if (!(tags[i] in knowntags)) {
+           print common > FILENAME "." tags[i]
+           knowntags[tags[i]]=tags[i]
+       }
+    }
+}
+function wrtags(string, tgs) {
+    for (i in tgs) print string > FILENAME "." tgs[i]
+}
+function writetags (str) {
+    wrtags(str, tags)
+}
+function writealltags(str) {
+    wrtags(str, knowntags)
+}
+
+/^@}/ && indic==1{ indic = 0 } # End of a block
+
+indic==1 { writetags($0) }
+
+match($0, /^@([a-z][a-z,]*){[ ]*(.*)$/, tagarr) && indic!=1{
+# matches beginning of a block
+    indic = 1
+    splittags(tagarr[1])
+    writetags(tagarr[2])
+}
+
+match($0, /@([a-z][a-z,]*) (.*)$/, tagarr) && indic!=1 {
+    splittags(tagarr[1])
+    writetags(tagarr[2])
+}
+($0 !~ /^@/) && indic!=1 {
+    common=common $0
+    writealltags($0)
+}
index 68cd5a6..f48ed71 100644 (file)
@@ -33,7 +33,7 @@ dwm neu kompilieren muss, wenn man die Konfiguration ändert. </p>
 <figure><img src="/screenshots/emacs_dwm_600.png" alt="Emacs unter dwm" /><figcaption><a href="/screenshots/emacs_dwm.png">Emacs unter dwm</a></figcaption></figure>
 
 <p><a class="back" href=̈"/" >&larr; Zurück zur Hauptseite</a></p>
-<div class="langs" > <a href="http://en.gpcf.eu/dwm">English</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://de.gpcf.eu/dwm">Deutsch</a> </div>
+<div class="langs" > <a href="http://de.gpcf.eu/dwm">Deutsch</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://en.gpcf.eu/dwm">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
index 8770fb2..1543c16 100644 (file)
@@ -33,7 +33,7 @@ you have to recompile dwm to change the configuration.</p>
 <figure><img src="/screenshots/emacs_dwm_600.png" alt="dwm" /><figcaption><a href="/screenshots/emacs_dwm.png">dwm</a></figcaption></figure>
 
 <p><a class="back" href=̈"/" >&larr; Return to the main page</a></p>
-<div class="langs" > <a href="http://en.gpcf.eu/dwm">English</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://de.gpcf.eu/dwm">Deutsch</a> </div>
+<div class="langs" > <a href="http://de.gpcf.eu/dwm">Deutsch</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://en.gpcf.eu/dwm">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
index 10390bb..3cc5fd7 100644 (file)
@@ -19,7 +19,7 @@ utiligas la Windowsklavon.</p>
 <code>git clone git://aubergine.gpcf.eu/dwm.git</code>
 por elŝuti dwm. Vi povas elŝuti la <a href="/dowmloads/dwm_src.tar.bz2">fontkodon</a> kaj la responda <a href="/downloads/dwm_src.tar.bz2.sig">subskribo</a>.</p>
 <p><a class="back" href="/" >&larr; Reiri al la ĉefpaĝo</a></p>
-<div class="langs" > <a href="http://en.gpcf.eu/dwm">English</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://de.gpcf.eu/dwm">Deutsch</a> </div>
+<div class="langs" > <a href="http://de.gpcf.eu/dwm">Deutsch</a> <a href="http://eo.gpcf.eu/dwm">Esperanto</a> <a href="http://en.gpcf.eu/dwm">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
diff --git a/dwm/index.in.md.de b/dwm/index.in.md.de
new file mode 100644 (file)
index 0000000..983ecc1
--- /dev/null
@@ -0,0 +1,29 @@
+# dwm
+
+[dwm][dwm] ist ein kleiner Window-Manager für X11,
+der extrem simpel, schnell und stabil ist. Leider machen seine Standard-Tastenkombinationen 
+die Nutzung von Emacs unmöglich (dwm wurde höchstwahrscheinlich von Vi-Nutzern geschrieben), 
+also habe ich dwm umkonfiguriert. Alle Befehle, die früher die Meta-Taste verwendet haben,
+nutzen in meiner Version die Windows-Taste (auch unter dem Namen Super-Taste bekannt).
+
+
+Meine Version von dwm kann mit dem Befehl
+`git clone git://aubergine.gpcf.eu/dwm.git`
+
+heruntergeladen werden. Hier ist ein [Tarball][tar] mit dem 
+Quellcode und die dazugehörige [GPG-Signatur][sig]
+
+
+Meine Version enthält veränderte Tastenkombinationen, einige für mich nützliche 
+Regeln sowie eine Manpage, die die Tastenkombinationen nahezu vollständig 
+dokumentiert. Vorraussetzungen für die Nutzung von dwm sind Grundkenntnisse in C und im Umgang 
+mit Programmierwerkzeugen wie `make`, da ich dwm nur als Quellcode verbreite und man
+dwm neu kompilieren muss, wenn man die Konfiguration ändert. 
+
+Hier ein Screenshot von Emacs unter dwm:
+
+![Emacs unter dwm](/screenshots/emacs_dwm_600.png "[Emacs unter dwm](/screenshots/emacs_dwm.png)")
+
+[dwm]: http://dwm.suckless.org
+[tar]: /dowmloads/dwm_src.tar.bz2
+[sig]: /downloads/dwm_src.tar.bz2.sig
diff --git a/dwm/index.in.md.en b/dwm/index.in.md.en
new file mode 100644 (file)
index 0000000..60fe627
--- /dev/null
@@ -0,0 +1,29 @@
+# dwm
+
+[dwm][dwm] is a simple, fast, stable and lightweight window
+manager for X11, but its keyboard shortcuts make it impossible to use
+Emacs (dwm was probably written by vi users), so I have reconfigured
+dwm. All shortcuts that used the Meta key, now use the Windows key
+(also known as super key).
+
+
+You can run the command
+`git clone git://aubergine.gpcf.eu/dwm.git`
+
+to download my version of dwm. You can also download the
+[source code][tar] as a tar archive and its corresponding
+[Signature][sig]
+
+
+My version also contains some useful rules and keyboard shortcuts and a better
+manpage, that documents almost all keyboard shortcuts. To use dwm you need to know
+at least the basics of C programming and basic usage of tools like `make`, because
+you have to recompile dwm to change the configuration.
+
+Here is a screenshot of dwm:
+
+![dwm](/screenshots/emacs_dwm_600.png "[dwm](/screenshots/emacs_dwm.png)")
+
+[dwm]: http://dwm.suckless.org
+[tar]: /dowmloads/dwm_src.tar.bz2
+[sig]: /downloads/dwm_src.tar.bz2.sig
diff --git a/dwm/index.in.md.eo b/dwm/index.in.md.eo
new file mode 100644 (file)
index 0000000..24c028c
--- /dev/null
@@ -0,0 +1,18 @@
+# dwm
+
+[dwm][dwm] estis malgranda fenestrodministrilo por la fenestra
+sistemo X. Ĝia klavarkombinoj malfaciligas la utiligo de Emacs. Mi
+rekonfiguris dwm. Ĉio klavarkombinoj kia utiligis la metaklavon nun
+utiligas la Windowsklavon.
+
+Vi povas fari la komandon
+`git clone git://aubergine.gpcf.eu/dwm.git`
+
+por elŝuti dwm. Vi povas elŝuti la [fontkodon][tar] kaj la responda [subskribo][sig].
+
+
+
+
+[dwm]: http://dwm.suckless.org
+[tar]: /dowmloads/dwm_src.tar.bz2
+[sig]: /downloads/dwm_src.tar.bz2.sig
diff --git a/en b/en
new file mode 100644 (file)
index 0000000..1039536
--- /dev/null
+++ b/en
@@ -0,0 +1,7 @@
+# Gabriel's Website
+
+### [dwm][dwm]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/en.html.tpl b/en.html.tpl
new file mode 100644 (file)
index 0000000..5ace8ff
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html lang="en" >
+  <head>
+    <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"  >
+    <title>
+% $title
+    </title>
+    <link rel="stylesheet" type="text/css" href="/common/styles.css" />
+  </head>
+  <body>
+% cat $file
+    <footer>
+      © 2014 Gabriel Pérez-Cerezo.
+    </footer>
+  </body>
+</html>
diff --git a/eo b/eo
new file mode 100644 (file)
index 0000000..1cfc132
--- /dev/null
+++ b/eo
@@ -0,0 +1,8 @@
+# La retpaĝo de Gabriel
+
+### [dwm][dwm]
+### [2048][2048]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/es b/es
new file mode 100644 (file)
index 0000000..1fd1cbd
--- /dev/null
+++ b/es
@@ -0,0 +1,6 @@
+# La página web de Gabriel
+
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/eval b/eval
new file mode 100644 (file)
index 0000000..82e0ec2
--- /dev/null
+++ b/eval
@@ -0,0 +1,9 @@
+echo -n '<html>
+
+'
+sed s/emacs/vi/g
+
+echo -n '
+</html>
+'
+
diff --git a/exmp b/exmp
new file mode 100644 (file)
index 0000000..18a3a93
--- /dev/null
+++ b/exmp
@@ -0,0 +1,7 @@
+<html>
+
+% for i in $(find .); do
+% echo $i
+% done
+
+</html>
\ No newline at end of file
diff --git a/gen.sh b/gen.sh
index 7999f4c..d64b42e 100644 (file)
--- a/gen.sh
+++ b/gen.sh
@@ -1,25 +1,36 @@
 #!/bin/bash
-BASEDIR=~/website/gpcf.eu
-declare -A lglist=( ["eo"]="Esperanto" ["en"]="English" ["de"]="Deutsch" ["es"]="Español" )
+
+
+BASEDIR=~/website/gpcf.eu 
+declare -A lglist=( ["eo"]="Esperanto" ["en"]="English"
+["de"]="Deutsch" ["es"]="Español" )
+
 cd $BASEDIR
 for i in $(find . -name "*.in.md"); do
     dir=$(dirname $i)
     k=$(basename $i)
-    cd $dir
-    files=$($BASEDIR/dislines.pl $k | sed 1d | cut -d " " -f 2)
-    cd $BASEDIR
+
+    # separate the languages contained in the *.in.md file and save
+    # them into individual files.
+    $BASEDIR/dislines.awk $i
+    files=$(ls $dir | grep \.in\.md\.[a-z])
+    # create a bar that contains links to the page in other languages.
     bar="<div class=\"langs\" >"
-    for j in $files ; do
-       code=$(echo $j | cut -d . -f 3 )
+    for j in $files 
+    do
+       code=$(echo $j | cut -d . -f 4 )
        bar="$bar <a href=\"http://$code.gpcf.eu/$(echo $dir | cut -c3-)\">${lglist[$code]}</a>"
     done
     bar="$bar </div>"
-    for f in $files ; do
-       html=$(echo $f | sed -e s/\.in// -e s/\.md$/.html/ )
-       template=$(echo $html | cut -d "." -f 2- )
+    for f in $files 
+    do
+       # Format the pages using markdown.
+       html=$(echo $f | sed -e s/\.in\.md// ).html
+       template=$(echo $f | cut -d "." -f 4 ).html
        html=$dir/$html
-       if test $html -ot $dir/$f -o "$1" ; then
-           mpp.py < $dir/$f | markdown | tee $html | head -n 1 | sed -e "s/<.\?h1>//g " -e "s/\&/\\\&/g" > $html.title
+       if [ $html -ot $i -o "$1" ] 
+       then
+           $BASEDIR/template.awk < $dir/$f | sh | markdown | tee $html | head -n 1 | sed -e "s/<.\?h1>//g " -e "s/\&/\\\&/g" > $html.title
            if [ $dir != "." ] ; then
                # This page is not the main page, so include a link to return to it.
                code=$(echo $f | cut -d . -f 3 )
@@ -37,7 +48,8 @@ for i in $(find . -name "*.in.md"); do
                    echo "<p><a class=\"back\" href=\"/\" >&larr; Volver a la página principal</a></p>" >> $html
                fi
            fi
-           echo $bar >> $html
+           ## THIS SECTION HAS TO BE REWRITTEN TO USE THE TEMPLATES.AWK SCRIPT ##
+           echo $bar >> $html # add the bar now
            x=$(grep -n "<inhalt>" < $template | cut -d : -f 1)
            head -n $(($x - 1)) < $template | sed "s/<titel>/$(cat $html.title)/g"  > $html.title
            cat $html.title $html | tee $html.title > /dev/null
index 1a4757c..b4d9e13 100644 (file)
@@ -13,7 +13,7 @@
 <h3><a href="/dwm">dwm</a></h3>
 
 <h3><a href="/2048">2048</a></h3>
-<div class="langs" > <a href="http://en.gpcf.eu/">English</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://de.gpcf.eu/">Deutsch</a> </div>
+<div class="langs" > <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://de.gpcf.eu/">Deutsch</a> <a href="http://en.gpcf.eu/">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
index cc4bb32..42b897f 100644 (file)
@@ -3,15 +3,15 @@
   <head>
     <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"  >
     <title>
-      Gabriel's Website
+      Gabriels Website
     </title>
     <link rel="stylesheet" type="text/css" href="/common/styles.css" />
   </head>
   <body>
-<h1>Gabriel's Website</h1>
+<h1>Gabriels Website</h1>
 
 <h3><a href="/dwm">dwm</a></h3>
-<div class="langs" > <a href="http://en.gpcf.eu/">English</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://de.gpcf.eu/">Deutsch</a> </div>
+<div class="langs" > <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://de.gpcf.eu/">Deutsch</a> <a href="http://en.gpcf.eu/">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
index d35e338..f8eb594 100644 (file)
@@ -13,7 +13,7 @@
 <h3><a href="/dwm">dwm</a></h3>
 
 <h3><a href="/2048">2048</a></h3>
-<div class="langs" > <a href="http://en.gpcf.eu/">English</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://de.gpcf.eu/">Deutsch</a> </div>
+<div class="langs" > <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://de.gpcf.eu/">Deutsch</a> <a href="http://en.gpcf.eu/">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
index 76c4b82..285e29c 100644 (file)
@@ -9,7 +9,7 @@
   </head>
   <body>
 <h1>La página web de Gabriel</h1>
-<div class="langs" > <a href="http://en.gpcf.eu/">English</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://de.gpcf.eu/">Deutsch</a> </div>
+<div class="langs" > <a href="http://eo.gpcf.eu/">Esperanto</a> <a href="http://es.gpcf.eu/">Español</a> <a href="http://de.gpcf.eu/">Deutsch</a> <a href="http://en.gpcf.eu/">English</a> </div>
     <footer>
       © 2014 Gabriel Pérez-Cerezo.
     </footer>
diff --git a/index.in.md.de b/index.in.md.de
new file mode 100644 (file)
index 0000000..0de240d
--- /dev/null
@@ -0,0 +1,9 @@
+
+# Gabriels Website
+
+### [dwm][dwm]
+### [2048][2048]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/index.in.md.en b/index.in.md.en
new file mode 100644 (file)
index 0000000..8dc8e64
--- /dev/null
@@ -0,0 +1,8 @@
+
+# Gabriel's Website
+
+### [dwm][dwm]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/index.in.md.eo b/index.in.md.eo
new file mode 100644 (file)
index 0000000..1b0807b
--- /dev/null
@@ -0,0 +1,9 @@
+
+# La retpaĝo de Gabriel
+
+### [dwm][dwm]
+### [2048][2048]
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/index.in.md.es b/index.in.md.es
new file mode 100644 (file)
index 0000000..2fc08d5
--- /dev/null
@@ -0,0 +1,7 @@
+
+# La página web de Gabriel
+
+
+
+[dwm]:/dwm
+[2048]:/2048
diff --git a/mail-setup/index.en.html b/mail-setup/index.en.html
new file mode 100644 (file)
index 0000000..800d7d3
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="en" >
+  <head>
+    <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"  >
+    <title>
+      My mail setup with Wanderlust
+    </title>
+    <link rel="stylesheet" type="text/css" href="/common/styles.css" />
+  </head>
+  <body>
+<h1>My mail setup with Wanderlust</h1>
+
+<p>I use the <a href="http://www.emacswiki.org/emacs/WanderLust">Wanderlust</a> mail client to read my mail. I use
+Maildirs to store my messages, both on my server and locally.
+I receive and send mail over SSH, it is simpler to have a single
+key for everything than having to remember passwords for SMTP
+and IMAP in addition to having a SSH key.</p>
+
+<p>I have a script that copies all messages on my server and saves them
+to my local inbox. It is bound to <code>s-g</code> in dwm. When I send an email,
+emacs calls a script that imitates <code>sendmail</code> and saves the messages
+to a queue. To send these messages, there is a script, bound to <code>s-s</code>,
+that sends the contents of the queue calling <code>sendmail</code> on my server.</p>
+
+<p>You can download the scripts using the command <code>git clone
+git://aubergine.gpcf.eu/mail.git</code>.</p>
+
+<p>I have improved Wanderlusts encryption support. There is a function
+called <a href="http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9#l67"><code>gpcf-decrypt-mail</code></a> that can decrypt PGP/MIME messages.</p>
+
+<p>You can also see my entire <a href="http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9">.wl file</a></p>
+<div class="langs" > <a href="http://en.gpcf.eu/mail-setup">English</a> </div>
+    <footer>
+      © 2014 Gabriel Pérez-Cerezo.
+    </footer>
+  </body>
+</html>
diff --git a/mail-setup/index.in.en.md b/mail-setup/index.in.en.md
new file mode 100644 (file)
index 0000000..9c3de2a
--- /dev/null
@@ -0,0 +1,25 @@
+#My mail setup
+
+I use the [Wanderlust][wl] mail client to read my mail. I use
+Maildirs to store my messages, both on my server and locally.
+I receive and send mail over SSH, it is simpler to have a single
+key for everything than having to remember passwords for SMTP
+and IMAP in addition to having a SSH key.
+
+I have a script that copies all messages on my server and saves them
+to my local inbox. It is bound to `s-g` in dwm. When I send an email,
+emacs calls a script that imitates `sendmail` and saves the messages
+to a queue. To send these messages, there is a script, bound to `s-s`,
+that sends the contents of the queue calling `sendmail` on my server.
+
+You can download the scripts using the command `git clone
+git://aubergine.gpcf.eu/mail.git`.
+
+I have improved Wanderlust's encryption support. There is a function
+called [`gpcf-decrypt-mail`][g-d-m] that can decrypt PGP/MIME messages.
+
+You can also see my entire [.wl file][dotwl]
+
+[dotwl]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9
+[g-d-m]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9#l67
+[wl]:http://www.emacswiki.org/emacs/WanderLust
diff --git a/mail-setup/index.in.md b/mail-setup/index.in.md
new file mode 100644 (file)
index 0000000..12d2e2f
--- /dev/null
@@ -0,0 +1,27 @@
+@en #My mail setup with Wanderlust
+
+@en{
+I use the [Wanderlust][wl] mail client to read my mail. I use
+Maildirs to store my messages, both on my server and locally.
+I receive and send mail over SSH, it is simpler to have a single
+key for everything than having to remember passwords for SMTP
+and IMAP in addition to having a SSH key.
+
+I have a script that copies all messages on my server and saves them
+to my local inbox. It is bound to `s-g` in dwm. When I send an email,
+emacs calls a script that imitates `sendmail` and saves the messages
+to a queue. To send these messages, there is a script, bound to `s-s`,
+that sends the contents of the queue calling `sendmail` on my server.
+
+You can download the scripts using the command `git clone
+git://aubergine.gpcf.eu/mail.git`.
+
+I have improved Wanderlust's encryption support. There is a function
+called [`gpcf-decrypt-mail`][g-d-m] that can decrypt PGP/MIME messages.
+
+You can also see my entire [.wl file][dotwl]
+
+@}
+[dotwl]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9
+[g-d-m]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9#l67
+[wl]:http://www.emacswiki.org/emacs/WanderLust
diff --git a/mail-setup/index.in.md.en b/mail-setup/index.in.md.en
new file mode 100644 (file)
index 0000000..0239fbb
--- /dev/null
@@ -0,0 +1,27 @@
+
+#My mail setup with Wanderlust
+
+
+I use the [Wanderlust][wl] mail client to read my mail. I use
+Maildirs to store my messages, both on my server and locally.
+I receive and send mail over SSH, it is simpler to have a single
+key for everything than having to remember passwords for SMTP
+and IMAP in addition to having a SSH key.
+
+I have a script that copies all messages on my server and saves them
+to my local inbox. It is bound to `s-g` in dwm. When I send an email,
+emacs calls a script that imitates `sendmail` and saves the messages
+to a queue. To send these messages, there is a script, bound to `s-s`,
+that sends the contents of the queue calling `sendmail` on my server.
+
+You can download the scripts using the command `git clone
+git://aubergine.gpcf.eu/mail.git`.
+
+I have improved Wanderlust's encryption support. There is a function
+called [`gpcf-decrypt-mail`][g-d-m] that can decrypt PGP/MIME messages.
+
+You can also see my entire [.wl file][dotwl]
+
+[dotwl]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9
+[g-d-m]: http://git.gpcf.eu/?p=dotfiles.git;a=blob;f=.wl;h=dfcddf2c6d1acc66955cc9070e6e28be2db17a74;hb=d1c02958a6103a6440bd434b744095184f8eaac9#l67
+[wl]:http://www.emacswiki.org/emacs/WanderLust
diff --git a/template.awk b/template.awk
new file mode 100755 (executable)
index 0000000..37a3212
--- /dev/null
@@ -0,0 +1,59 @@
+#!/usr/bin/awk -f
+# This file comes from werc (http://werc.cat-v.org)
+# werc is in the public domain.
+
+
+function pr(str) {
+       if(lastc !~ "[{(]")
+               gsub(/'/, "''", str)
+       printf "%s", str
+}
+function trans(c) {
+       printf "%s", end
+
+       lastc = c
+       end = "\n"
+       if(c == "%")
+               end = ""
+       else if(c == "(")
+               printf "echo -n "
+       else if(c ~ "[})]") {
+               end = "'\n"
+               printf "echo -n '"
+       }
+}
+
+BEGIN {
+       lastc = "{"
+       trans("}")
+}
+END {
+       print end
+}
+
+/^%/ && $0 !~ /^%[{()}%]/ && lastc !~ /[({]/ {
+       trans("%")
+       print substr($0, 2)
+       next
+}
+{
+       if(lastc == "%")
+               trans("}")
+       n = split($0, a, "%")
+       pr(a[1])
+       for(i=2; i<=n; i++) {
+               c = substr(a[i], 1, 1)
+               rest = substr(a[i], 2)
+
+               if((lastc !~ "[({]" && c ~ "[({]") ||
+                  (lastc == "{" && c == "}") ||
+                  (lastc == "(" && c == ")"))
+                       trans(c)
+               else if(c == "%")
+                       pr("%")
+               else
+                       pr("%" c)
+               pr(rest)
+       }
+       pr("\n")
+}