summaryrefslogtreecommitdiff
path: root/platform/bin/doku2md.sh
diff options
context:
space:
mode:
Diffstat (limited to 'platform/bin/doku2md.sh')
-rwxr-xr-xplatform/bin/doku2md.sh248
1 files changed, 168 insertions, 80 deletions
diff --git a/platform/bin/doku2md.sh b/platform/bin/doku2md.sh
index a3f0a13..a7839e8 100755
--- a/platform/bin/doku2md.sh
+++ b/platform/bin/doku2md.sh
@@ -1,116 +1,204 @@
#!/bin/bash
+# USO : ./doku2md.sh ../../content/illich/contents/books/deschooling/en.txt
+# Genera un .md en la misma carpeta del archivo. Luego ese .md se puede usar dentro de la carpeta book para generar un PDF.
+# ./contents_compile.sh <collection> <type> <item>
+# ./contents_compile.sh illich book abc
### Script para dejar listo los .txt de Doku para hacerlos markdown
-url='https://illich.test/'
-IFS=$'\n'
-# Arregla footnotes
+cd `dirname $0`
- dir=`dirname $1`
- name=`echo $1 | sed 's/\.txt//g'`
- lang=${name: -2}
- ## Corta el archivo en dos, empezando por la linea de la primera footnote
+COLLECTION=$1
+TYPE=$2
+ITEM=$3
- n=`grep -n -m 1 ':]' $1 |sed 's/\([0-9]*\).*/\1/'`
+AUTHOR=`cat ../../content/$COLLECTION/conf/local.php | grep author | cut -d "'" -f4`
- csplit -s $1 $n -f $1.tmp.
+FOLDER="../../content/$COLLECTION/contents/$TYPE/$ITEM"
+URL=`cat ../../platform/www/conf/farm.ini | grep basedomain | cut -d '"' -f 2`
+
+IFS=$'\n'
- ## Agrega saltos de linea y elimina corchete final
+DIR=$FOLDER
+name=$ITEM
- grep ':]' $1.tmp.01 | perl -p -e 's/\n/\n\n/' > $1.footer.tmp
- sed -i 's/]$//g' $1.footer.tmp
+#
+# echo "URL: $URL"
+#
+# echo "DIR: $DIR"
+# echo "NAME: $name"
+#
+# read
- ## Unifica todo y corrige corchete de apertura
+cd $DIR
- cat $1.tmp.00 > $1.tmp
+LANGS=("en" "es")
+for lng in ${LANGS[@]}; do
- cat $1.footer.tmp >> $1.tmp
+ FILE="$lng.txt"
+ # Arregla footnotes
+ ## Corta el archivo en dos, empezando por la linea de la primera footnote
+ if [ -f $FILE ]; then
+ echo "---- File $FILE exists."
- sed 's/:]/]:/g' $1.tmp > $name.body.tmp
+ n=`grep -n -m 1 ':]' $FILE |sed 's/\([0-9]*\).*/\1/'`
- ## Borra temporales
+ if [ -z "$n" ]; then
+ cat $FILE > $lng.body.tmp
+ else
+ csplit -s $FILE $n -f $lng.tmp.
+ ## Agrega saltos de linea y elimina corchete final
+ grep ':]' $lng.tmp.01 | perl -p -e 's/\n/\n\n/' > $lng.footer.tmp
+ sed -i 's/]$//g' $lng.footer.tmp
-# agregar cabecera para pandoc!
+ ## Unifica todo y corrige corchete de apertura
-if test -f "$dir/index.txt"; then
- echo "hay index"
- yaml_title=`head -n1 "$dir/index.txt" | sed 's/# //g'`
- yaml_date=`grep 'LANG_publicationdate' "$dir/index.txt" | cut -d ':' -f2 | sed 's/ //'`
- yaml_author=`grep 'LANG_author' "$dir/index.txt" | cut -d ':' -f2 | sed 's/ //'`
- if [ -z "$yaml_author" ]
- then
- yaml_author="Ivan Illich"
- else
- case $lang in
- en)
- yaml_author=`echo $yaml_author | sed 's/, / and /g'`
- ;;
- es)
- yaml_author=`echo $yaml_author | sed 's/, / y /g'`
- ;;
- esac
- fi
+ cat $lng.tmp.00 > $lng.tmp
- meta=`echo "$name.changes" | sed 's/pages/meta/'`
- # el numero de revision es un unix timestamp
- revision=`cat $meta | tail -n1 | cut -f1`
+ cat $lng.footer.tmp >> $lng.tmp
- # ../../content/data/pages/es/book/gender/es
- # http://illich.test/es:book:gender:es?rev=1620353793
- webpage=`echo $name | sed 's/^.*pages\///'| sed 's/\//:/g'`
+ sed 's/:]/]:/g' $lng.tmp > $lng.body.tmp
+ # cat $lng.body.tmp
- echo "
----
-title: \"$yaml_title\"
-author: \"$yaml_author\"
-abstract: \"$url$webpage?rev=$revision\"
-date: \"$yaml_date\"
-lang: \"$lang\"
-titlepage: true
-titlepage-color: \"FFFFFF\"
-titlepage-text-color: \"000000\"
-titlepage-rule-color: \"CCCCCC\"
-titlepage-rule-height: 4
----
- " > $name.head.tmp
-fi
+ fi
-## Hay que cambiar los titulos
-sed -i 1d $name.body.tmp
-sed -i 's/^## /# /g' $name.body.tmp
-sed -i 's/^### /## /g' $name.body.tmp
-sed -i 's/^#### /### /g' $name.body.tmp
-sed -i 's/^##### /#### /g' $name.body.tmp
-sed -i 's/^###### /##### /g' $name.body.tmp
+ ## Borra temporales
-cat $name.head.tmp > $name.md
-cat $name.body.tmp >> $name.md
-# Mas https://github.com/alexeygumirov/pandoc-for-pdf-how-to
-# ---
-# title: "Towards Illich's 'legibility'"
-# subtitle: "Returning to Ivan through the Mirror of the Past"
-# author: "Le Goliard[^fb42]"
-# date: "2020-11-29 / Version 1.3[^b840]"
-# # abstract: "The important thing is love"
-# keywords: "Illich, JIS"
-# bibliography: "illich_legibility-en.bib"
-# lang: "es-ES"
-# rights: "This work is published under the terms of the license 'Do What the Fuck You Want to Public License 2.0' (WTFPL 2.0). For more information see: https://en.wikipedia.org/wiki/WTFPL"
-# ---
+ # agregar cabecera para pandoc!
+ if test -f "index"; then
+ echo "hay index"
+ LANGORIG=`cat "index" | grep langorig | cut -d "@" -f 4 | cut -d "_" -f 3`
+
+ if [[ $lng == $LANGORIG ]]; then
+ echo "Se procesa en idioma original"
+ yaml_title=`grep 'LANG_titleorig' "index" | cut -d '_' -f3 | sed s/\"/\'/g`
+ else
+ echo "No se procesa en idioma original"
+ yaml_title=`head -n1 $FILE | sed s/\#\ // | sed s/\"/\'/g`
+ fi
+
+
+ yaml_date=`grep 'LANG_publicationdate' "index" | cut -d ':' -f2 | sed 's/** //'`
+ if [[ $yaml_date == "*YEAR*" ]]; then
+ # If the Year is not defined, we try to take it from the path
+ yaml_date=`echo $PWD/$FILE | cut -d "-" -f 1 | rev | cut -d '/' -f1 | rev`
+ fi
+ yaml_author=`grep 'LANG_author' "index" | cut -d ':' -f2 | sed 's/ //'`
+ if [ -z "$yaml_author" ]
+ then
+ yaml_author=$AUTHOR
+ else
+ case $lng in
+ en)
+ yaml_author=`echo $yaml_author | sed 's/, / and /g'`
+ ;;
+ es)
+ yaml_author=`echo $yaml_author | sed 's/, / y /g'`
+ ;;
+ esac
+ fi
+
+ # meta=`echo "$name.changes" | sed 's/pages/meta/'`
+ # # el numero de revision es un unix timestamp
+ # revision=`cat $meta | tail -n1 | cut -f1`
+ #
+ # # ../../content/data/pages/es/book/gender/es
+ # # http://illich.test/es:book:gender:es?rev=1620353793
+ # webpage=`echo $name | sed 's/^.*pages\///'| sed 's/\//:/g'`
+
+ case $TYPE in
+ book)
+ echo "---
+ title: \"$yaml_title\"
+ author: \"$yaml_author\"
+ date: \"$yaml_date\"
+ lang: \"$lng\"
+ documentclass: book
+ classoption:
+ - oneside
+ geometry: margin=1.75in
+ fontsize: 12pt
+ fontfamily: ebgaramond-maths
+ newtxmathoptions:
+ - cmintegrals
+ - cmbraces
+ toc: true
+ colorlinks: true
+ linkcolor: RoyalBlue
+ urlcolor: RoyalBlue
+titlepage: true
+---" > $lng.head.tmp
+ ;;
+ article)
+ echo "---
+ title: \"$yaml_title\"
+ author: \"$yaml_author\"
+ date: \"$yaml_date\"
+ lang: \"$lng\"
+ documentclass: article
+ geometry: margin=1.75in
+ fontsize: 12pt
+ fontfamily: ebgaramond-maths
+ colorlinks: true
+ linkcolor: RoyalBlue
+ urlcolor: RoyalBlue
+---" > $lng.head.tmp
+ ;;
+ #...
+ *)
+ comandos
+ ;;
+ esac
+
+
+ fi
+ echo ""
+ echo ""
+
+ # cat $lng.head.tmp
+
+ ## Hay que cambiar los titulos
+
+ sed -i 1d $lng.body.tmp
+ sed -i 's/^## /# /g' $lng.body.tmp
+ sed -i 's/^### /## /g' $lng.body.tmp
+ sed -i 's/^#### /### /g' $lng.body.tmp
+ sed -i 's/^##### /#### /g' $lng.body.tmp
+ sed -i 's/^###### /##### /g' $lng.body.tmp
+
+ cat $lng.head.tmp > $lng.md
+ cat $lng.body.tmp >> $lng.md
+
+
+ # Mas https://github.com/alexeygumirov/pandoc-for-pdf-how-to
+ # ---
+ # title: "Towards Illich's 'legibility'"
+ # subtitle: "Returning to Ivan through the Mirror of the Past"
+ # author: "Le Goliard[^fb42]"
+ # date: "2020-11-29 / Version 1.3[^b840]"
+ # # abstract: "The important thing is love"
+ # keywords: "Illich, JIS"
+ # bibliography: "illich_legibility-en.bib"
+ # lang: "es-ES"
+ # rights: "This work is published under the terms of the license 'Do What the Fuck You Want to Public License 2.0' (WTFPL 2.0). For more information see: https://en.wikipedia.org/wiki/WTFPL"
+ # ---
+ rm *tmp*
+ else
+ echo "---- File $FILE not exists."
+ fi
-rm $dir/*.tmp
-rm $dir/*.tmp.*
+done