summaryrefslogtreecommitdiff
path: root/platform/bin
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2022-03-08 13:08:34 +0000
committerYaco <franco@reevo.org>2022-03-08 13:08:34 +0000
commitc985c40d3f3fc6a2be3be3186df3bf2f32189475 (patch)
treecee11f5e5a7e351ee0fec36d58d72cbee4f7e49b /platform/bin
first commit after acervus codebase
Diffstat (limited to 'platform/bin')
-rw-r--r--platform/bin/Makefile62
-rwxr-xr-xplatform/bin/doku2md.sh116
-rw-r--r--platform/bin/template.tex291
3 files changed, 469 insertions, 0 deletions
diff --git a/platform/bin/Makefile b/platform/bin/Makefile
new file mode 100644
index 0000000..47b522e
--- /dev/null
+++ b/platform/bin/Makefile
@@ -0,0 +1,62 @@
+#
+# Author: Jake Zimmerman <jake@zimmerman.io>
+#
+# ===== Usage ================================================================
+#
+# NOTE:
+# When running these commands at the command line, replace $(TARGET) with
+# the actual value of the TARGET variable.
+#
+#
+# make Compile all *.md files to PDFs
+# make <filename>.pdf Compile <filename>.md to a PDF
+# make <filename>.tex Generate the intermediate LaTeX for <filename>.md
+#
+# make view Compile $(TARGET).md to a PDF, then view it
+# make again Force everything to recompile
+#
+# make clean Get rid of all intermediate generated files
+# make veryclean Get rid of ALL generated files:
+#
+# make print Send $(TARGET).pdf to the default printer:
+#
+# ============================================================================
+
+
+TARGET = sample
+
+SOURCES = $(shell find . -name '*.md')
+
+PANDOC_FLAGS =\
+ --template template.tex \
+ -f markdown+tex_math_single_backslash \
+ -t latex \
+
+LATEX_FLAGS = \
+
+PDF_ENGINE = xelatex
+PANDOCVERSIONGTEQ2 := $(shell expr `pandoc --version | grep ^pandoc | sed 's/^.* //g' | cut -f1 -d.` \>= 2)
+ifeq "$(PANDOCVERSIONGTEQ2)" "1"
+ LATEX_FLAGS += --pdf-engine=$(PDF_ENGINE)
+else
+ LATEX_FLAGS += --latex-engine=$(PDF_ENGINE)
+endif
+
+all: $(TARGET).pdf
+
+$(TARGET).pdf: $(SOURCES) template.tex
+ pandoc $(PANDOC_FLAGS) $(LATEX_FLAGS) -o $@ $(SOURCES)
+
+$(TARGET).tex: $(SOURCES) template.tex
+ pandoc --standalone $(PANDOC_FLAGS) -o $@ $(SOURCES)
+
+clean:
+ rm -f *.aux *.log *.nav *.out *.snm *.toc *.vrb tags || true
+
+veryclean: clean
+ rm -f $(TARGET).pdf
+
+view: $(TARGET).pdf
+ if [ "Darwin" = "$(shell uname)" ]; then open $(TARGET).pdf ; else xdg-open $(TARGET).pdf ; fi
+
+.PHONY: all clean veryclean view
diff --git a/platform/bin/doku2md.sh b/platform/bin/doku2md.sh
new file mode 100755
index 0000000..a3f0a13
--- /dev/null
+++ b/platform/bin/doku2md.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+
+### Script para dejar listo los .txt de Doku para hacerlos markdown
+url='https://illich.test/'
+IFS=$'\n'
+
+# Arregla footnotes
+
+ 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
+
+ n=`grep -n -m 1 ':]' $1 |sed 's/\([0-9]*\).*/\1/'`
+
+ csplit -s $1 $n -f $1.tmp.
+
+ ## Agrega saltos de linea y elimina corchete final
+
+ grep ':]' $1.tmp.01 | perl -p -e 's/\n/\n\n/' > $1.footer.tmp
+
+ sed -i 's/]$//g' $1.footer.tmp
+
+ ## Unifica todo y corrige corchete de apertura
+
+ cat $1.tmp.00 > $1.tmp
+
+ cat $1.footer.tmp >> $1.tmp
+
+ sed 's/:]/]:/g' $1.tmp > $name.body.tmp
+
+ ## Borra temporales
+
+
+
+
+# agregar cabecera para pandoc!
+
+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
+
+ 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'`
+
+
+ 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
+
+
+## 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
+
+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"
+# ---
+
+
+
+rm $dir/*.tmp
+
+rm $dir/*.tmp.*
diff --git a/platform/bin/template.tex b/platform/bin/template.tex
new file mode 100644
index 0000000..1faea77
--- /dev/null
+++ b/platform/bin/template.tex
@@ -0,0 +1,291 @@
+\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
+
+% For redefining the \chapter command
+\usepackage[explicit]{titlesec}
+
+% To make the headers nicer (lowercase)
+\usepackage{fancyhdr}
+\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{#1}}
+\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[LE,RO]{\thepage}
+\fancyhead[LO]{\itshape\nouppercase{\rightmark}}
+\fancyhead[RE]{\itshape\nouppercase{\leftmark}}
+\renewcommand{\headrulewidth}{0pt}
+
+$if(newtxmathoptions)$
+\usepackage[$for(newtxmathoptions)$$newtxmathoptions$$sep$,$endfor$]{newtxmath}
+\let\Bbbk\relax
+$endif$
+$if(fontfamily)$
+\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
+$else$
+\usepackage{lmodern}
+$endif$
+$if(linestretch)$
+\usepackage{setspace}
+\setstretch{$linestretch$}
+$endif$
+\usepackage{amssymb,amsmath}
+\usepackage{ifxetex,ifluatex}
+\usepackage{fixltx2e} % provides \textsubscript
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
+ \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
+ \usepackage[utf8]{inputenc}
+$if(euro)$
+ \usepackage{eurosym}
+$endif$
+\else % if luatex or xelatex
+ \ifxetex
+ %\usepackage{mathspec}
+ \else
+ \usepackage{fontspec}
+ \fi
+ \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
+$if(euro)$
+ \newcommand{\euro}{€}
+$endif$
+$if(mainfont)$
+ \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
+$endif$
+$if(sansfont)$
+ \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
+$endif$
+$if(monofont)$
+ \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$}
+$endif$
+$if(mathfont)$
+ \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
+$endif$
+$if(CJKmainfont)$
+ \usepackage{xeCJK}
+ \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
+$endif$
+\fi
+% use upquote if available, for straight quotes in verbatim environments
+\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
+% use microtype if available
+\IfFileExists{microtype.sty}{%
+\usepackage{microtype}
+\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
+}{}
+$if(geometry)$
+\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
+$endif$
+\usepackage{hyperref}
+$if(colorlinks)$
+\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref
+$endif$
+\hypersetup{unicode=true,
+$if(title-meta)$
+ pdftitle={$title-meta$},
+$endif$
+$if(author-meta)$
+ pdfauthor={$author-meta$},
+$endif$
+$if(keywords)$
+ pdfkeywords={$for(keywords)$$keywords$$sep$; $endfor$},
+$endif$
+$if(colorlinks)$
+ colorlinks=true,
+ linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$,
+ citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$,
+ urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$,
+$else$
+ pdfborder={0 0 0},
+$endif$
+ breaklinks=true}
+\urlstyle{same} % don't use monospace font for urls
+$if(lang)$
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
+ \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
+$if(babel-newcommands)$
+ $babel-newcommands$
+$endif$
+\else
+ \usepackage{polyglossia}
+ \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$}
+$for(polyglossia-otherlangs)$
+ \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$}
+$endfor$
+\fi
+$endif$
+$if(natbib)$
+\usepackage{natbib}
+\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
+$endif$
+$if(biblatex)$
+\usepackage$if(biblio-style)$[style=$biblio-style$]$endif${biblatex}
+$if(biblatexoptions)$\ExecuteBibliographyOptions{$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$}$endif$
+$for(bibliography)$
+\addbibresource{$bibliography$}
+$endfor$
+$endif$
+$if(listings)$
+\usepackage{listings}
+$endif$
+$if(lhs)$
+\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
+$endif$
+$if(highlighting-macros)$
+$highlighting-macros$
+$endif$
+$if(verbatim-in-note)$
+\usepackage{fancyvrb}
+\VerbatimFootnotes % allows verbatim text in footnotes
+$endif$
+$if(tables)$
+\usepackage{longtable,booktabs}
+$endif$
+$if(graphics)$
+\usepackage{graphicx,grffile}
+\makeatletter
+\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
+\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
+\makeatother
+% Scale images if necessary, so that they will not overflow the page
+% margins by default, and it is still possible to overwrite the defaults
+% using explicit options in \includegraphics[width, height, ...]{}
+\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
+$endif$
+$if(links-as-notes)$
+% Make links footnotes instead of hotlinks:
+\renewcommand{\href}[2]{#2\footnote{\url{#1}}}
+$endif$
+$if(strikeout)$
+\usepackage[normalem]{ulem}
+% avoid problems with \sout in headers with hyperref:
+\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
+$endif$
+$if(indent)$
+$else$
+\IfFileExists{parskip.sty}{%
+\usepackage{parskip}
+}{% else
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{6pt plus 2pt minus 1pt}
+}
+$endif$
+\setlength{\emergencystretch}{3em} % prevent overfull lines
+\providecommand{\tightlist}{%
+ \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
+$if(numbersections)$
+\setcounter{secnumdepth}{5}
+$else$
+\setcounter{secnumdepth}{0}
+$endif$
+$if(subparagraph)$
+$else$
+% Redefines (sub)paragraphs to behave more like sections
+\ifx\paragraph\undefined\else
+\let\oldparagraph\paragraph
+\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
+\fi
+\ifx\subparagraph\undefined\else
+\let\oldsubparagraph\subparagraph
+\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
+\fi
+$endif$
+$if(dir)$
+\ifxetex
+ % load bidi as late as possible as it modifies e.g. graphicx
+ $if(latex-dir-rtl)$
+ \usepackage[RTLdocument]{bidi}
+ $else$
+ \usepackage{bidi}
+ $endif$
+\fi
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
+ \TeXXeTstate=1
+ \newcommand{\RL}[1]{\beginR #1\endR}
+ \newcommand{\LR}[1]{\beginL #1\endL}
+ \newenvironment{RTL}{\beginR}{\endR}
+ \newenvironment{LTR}{\beginL}{\endL}
+\fi
+$endif$
+$for(header-includes)$
+$header-includes$
+$endfor$
+% Overwrite \begin{figure}[htbp] with \begin{figure}[H]
+\usepackage{float}
+\let\origfigure=\figure
+\let\endorigfigure=\endfigure
+\renewenvironment{figure}[1][]{%
+\origfigure[H]
+}{%
+\endorigfigure
+}
+$if(title)$
+\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
+$endif$
+$if(subtitle)$
+\providecommand{\subtitle}[1]{}
+\subtitle{$subtitle$}
+$endif$
+$if(author)$
+\author{$for(author)$$author$$sep$ \and $endfor$}
+$endif$
+$if(institute)$
+\institute{$for(institute)$$institute$$sep$ \and $endfor$}
+$endif$
+\date{$date$}
+
+\begin{document}
+$if(title)$
+\maketitle
+$endif$
+$if(abstract)$
+\begin{abstract}
+$abstract$
+\end{abstract}
+$endif$
+
+$for(include-before)$
+$include-before$
+
+$endfor$
+$if(toc)$
+{
+$if(colorlinks)$
+\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$}
+$endif$
+\setcounter{tocdepth}{$toc-depth$}
+\newpage
+\tableofcontents
+}
+$endif$
+$if(lot)$
+\listoftables
+$endif$
+$if(lof)$
+\listoffigures
+$endif$
+
+% Redefine chapter title after table of contents
+\titleformat{\chapter}[display]{\normalfont\bfseries}{}{0pt}{\huge\thechapter.\,#1}
+
+$body$
+
+$if(natbib)$
+$if(bibliography)$
+$if(biblio-title)$
+$if(book-class)$
+\renewcommand\bibname{$biblio-title$}
+$else$
+\renewcommand\refname{$biblio-title$}
+$endif$
+$endif$
+\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
+
+$endif$
+$endif$
+$if(biblatex)$
+\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
+
+$endif$
+$for(include-after)$
+$include-after$
+
+$endfor$
+\end{document}