#!/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 # ./contents_compile.sh illich book abc ### Script para dejar listo los .txt de Doku para hacerlos markdown cd `dirname $0` COLLECTION=$1 TYPE=$2 ITEM=$3 AUTHOR=`cat ../../content/$COLLECTION/conf/local.php | grep author | cut -d "'" -f4` FOLDER="../../content/$COLLECTION/contents/$TYPE/$ITEM" URL=`cat ../../platform/www/conf/farm.ini | grep basedomain | cut -d '"' -f 2` IFS=$'\n' DIR=$FOLDER name=$ITEM # # echo "URL: $URL" # # echo "DIR: $DIR" # echo "NAME: $name" # # read cd $DIR LANGS=("en" "es") for lng in ${LANGS[@]}; do 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." n=`grep -n -m 1 ':]' $FILE |sed 's/\([0-9]*\).*/\1/'` 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 ## Unifica todo y corrige corchete de apertura cat $lng.tmp.00 > $lng.tmp cat $lng.footer.tmp >> $lng.tmp sed 's/:]/]:/g' $lng.tmp > $lng.body.tmp # cat $lng.body.tmp fi ## Borra temporales # 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 done