]> pere.pagekite.me Git - text-madewithcc.git/blobdiff - Makefile
Merge remote-tracking branch 'origin/master'
[text-madewithcc.git] / Makefile
index aa8a73ba7e64aafb5b1c012fec568481a54b551c..d0aef0bb0de7cf2909d07e401737144aee6bbd35 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,8 @@
+#
+# As of October 2017, I'm doing some Spanish-specific adjustments to
+# this Makefile; they should be generalized... But I'm taking a step at a time :)
+# -GW
+#
 SOURCE=MadewithCreativeCommonsmostup-to-dateversion
 
 # Versioning: I'm using the date on which I got the source document
 SOURCE=MadewithCreativeCommonsmostup-to-dateversion
 
 # Versioning: I'm using the date on which I got the source document
@@ -5,9 +10,36 @@ SOURCE=MadewithCreativeCommonsmostup-to-dateversion
 # increase every time the generated Markdown is modified.
 VERSION=20170609-2
 
 # increase every time the generated Markdown is modified.
 VERSION=20170609-2
 
+TITLE="Hecho con Creative Commons"
+TEXLANG=spanish
+TEXLANGCODE=es
+
+#TITLE="Laget med Creative Commons"
+#TEXLANG=norsk
+#TEXLANGCODE=nb
+
+PANDOC_OPTS = --top-level-division=part -t docbook -f markdown+inline_notes+ascii_identifiers \
+  --variable 'author:Paul Stacey' --variable 'author:Sarah Hinchliff Pearson' \
+  --variable 'title:$(TITLE)'
 # --top-level-diversion is not available in pandoc in Jessie
 # --top-level-diversion is not available in pandoc in Jessie
-PANDOCOPTS = --top-level-division=part -t docbook -f markdown+inline_notes
-PANDOCOPTS = -t docbook -f markdown+inline_notes
+# PANDOC_OPTS = -t docbook -f markdown+inline_notes
+
+LANGS = de es nb nl pl
+
+all: pdf epub
+
+distclean: clean
+       rm -f $(SOURCE).md
+       for LANG in $(LANGS); do \
+           rm -f $(SOURCE).$$LANG.md ;\
+       done
+clean:
+       for EXT in aux cb cb2 glo idx lof log tex toc xml pdf; do \
+           rm -f $(SOURCE).$$EXT ;\
+           for LANG in $(LANGS); do \
+               rm -f $(SOURCE).$$LANG.$$EXT ;\
+           done; \
+        done
 
 $(SOURCE).md: $(SOURCE).odt fixup.rb
        TEMP=`tempfile -p mwcc` && \
 
 $(SOURCE).md: $(SOURCE).odt fixup.rb
        TEMP=`tempfile -p mwcc` && \
@@ -25,20 +57,56 @@ po/mwcc.pot: $(SOURCE).md
        echo '# Authors: Paul Stacey and Sarah Hinchliff Pearson' >> $@ && \
        tail --lines=+5 $$TEMP >> $@ && \
        rm $$TEMP
        echo '# Authors: Paul Stacey and Sarah Hinchliff Pearson' >> $@ && \
        tail --lines=+5 $$TEMP >> $@ && \
        rm $$TEMP
-       for LANG in po/*/mwcc.po; do \
+       set -e; for LANG in po/*/mwcc.po; do \
            echo -n $$LANG\  ; \
            msgmerge $$LANG po/mwcc.pot -U ; \
        done
 
            echo -n $$LANG\  ; \
            msgmerge $$LANG po/mwcc.pot -U ; \
        done
 
+$(SOURCE).es.md: $(SOURCE).md po/es/mwcc.po
+       po4a-translate -f text -m $(SOURCE).md -p po/es/mwcc.po -l $@ -l $@ -L utf8 -M utf8 -k 0
+
+$(SOURCE).nb.md: $(SOURCE).md po/nb/mwcc.po
+       po4a-translate -f text -m $(SOURCE).md -p po/nb/mwcc.po -l $@ -l $@ -L utf8 -M utf8 -k 0
 
 %.xml: %.md
 
 %.xml: %.md
-       pandoc -o $@ $(PANDOCOPTS) MadewithCreativeCommonsmostup-to-dateversion.md
+       pandoc -s -o $@ $(PANDOC_OPTS) $^
+       perl -p -i -e 's/!DOCTYPE article/!DOCTYPE book/ ; \
+               s!<(/?)article(info|)?>!<$$1book$$2>!' $@
+
+pdf: $(SOURCE).pdf
+%.pdf: %.tex
+       pdflatex $^
+       pdflatex $^
+
+epub: $(SOURCE).epub
+%.epub: %.xml
+       dbtoepub $^
 
 
-pdf: MadewithCreativeCommonsmostup-to-dateversion.xml
-       dblatex -b xetex MadewithCreativeCommonsmostup-to-dateversion.xml
+%.tex: %.xml
+       dblatex -t tex -b xetex $^
+       perl -p -i -e 's/\[latin1\]\{inputenc\}/[utf8]{inputenc}\n\\usepackage[$(TEXLANG)]{babel}/; \
+               s/\\setcounter\{tocdepth\}.*/\\setcounter{tocdepth}{1}/; \
+               s/\\setcounter\{secnumdepth\}.*/\\setcounter{secnumdepth}{-1}/; \
+               s/\\caption\\end/\\caption{} \\end/; \
+               s!\\maketitle!\\input{extra/$(TEXLANGCODE)/cover.tex}!; \
+               s/\\author\{and\}/\\author{Paul Stacey \\and Sarah Hinchliff Pearson}/; \
+               s/\\DBKinditem\{\\writtenby\}\{and\}/\\DBKinditem{\writtenby}{Paul Stacey and Sarah Hinchliff Pearson}/; \
+               s/\\listoffigures//; \
+               s/\\part\{(Foreword|Prefacio|Introduction|Introducción)\}/\\chapter*{$$1} \\addcontentsline{toc}{chapter}{$$1}/; \
+               s/\\section\{(Notes|Notas)\}/\\section*{$$1}/; \
+               s/(Web links?|Vínculos Web)/\\section*{$$1}/; \
+               s/^\s*(Revenue model|Interview date|Interviewees?|(Modelo de ingresos|Fecha de la entrevista|Entrevistad(?:o|a|os|as)))/\\textbf{$$1}/;' $@
+       perl -p -i -e '$$work=1 if /chapter.Arduino/; $$work=0 if /chapter.(Bibliography|Bibliografía)/; \
+               next unless $$work; \
+               s/(\\label\{[-\.\wáéíóúñ]+\}\\hyperlabel\{[-\.\wáéíóúñ]+\}%)/$$1\n\\begin{quote}/i; \
+               s/(Profile written by.+|Perfil escrito por.+)/$$1\n\\end{quote}/' $@
 
 XMLLINTOPTS = --nonet --noout  --xinclude --postvalid
 
 XMLLINTOPTS = --nonet --noout  --xinclude --postvalid
-lint: MadewithCreativeCommonsmostup-to-dateversion.xml
+lint: $(SOURCE).xml
+       xmllint $(XMLLINTOPTS) $^
+lint-es: $(SOURCE).nb.xml
+       xmllint $(XMLLINTOPTS) $^
+lint-nb: $(SOURCE).nb.xml
        xmllint $(XMLLINTOPTS) $^
 
 .SUFFIXES: .xml .md
        xmllint $(XMLLINTOPTS) $^
 
 .SUFFIXES: .xml .md