Pārlūkot izejas kodu

Add script to produce a PDF version of the docs

Igor Wiedler 12 gadi atpakaļ
vecāks
revīzija
45156263e7
1 mainītis faili ar 72 papildinājumiem un 0 dzēšanām
  1. 72 0
      doc/make-pdf.sh

+ 72 - 0
doc/make-pdf.sh

@@ -0,0 +1,72 @@
+#!/bin/bash
+
+# Generate PDF from composer documentation.
+# dependencies:
+# * pandoc
+# * latex
+
+for file in $(find . -type f -name '*.md')
+do
+    pandoc -o $(dirname $file)/$(basename $file .md).tex $file
+done
+
+> book.tex
+cat >> book.tex <<EOF
+\documentclass{book}
+\title{Composer}
+\author{Igor and friends}
+
+\usepackage{hyperref}
+\usepackage{url}
+\usepackage{enumerate}
+\usepackage{listings}
+\usepackage{microtype}
+\usepackage[htt]{hyphenat}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{tgpagella}
+
+\lstset{
+    breaklines=true,
+    basicstyle=\ttfamily
+}
+
+\begin{document}
+
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.1cm}
+
+\maketitle
+\tableofcontents
+
+\setlength{\parskip}{0.4cm}
+EOF
+
+cat *.tex >> book.tex
+
+# apply only to main part of book
+sed -i.bak 's/\\section{/\\chapter{/g' book.tex
+sed -i.bak 's/\\subsection{/\\section{/g' book.tex
+sed -i.bak 's/\\subsubsection{/\\subsection{/g' book.tex
+sed -i.bak '/←/d' book.tex
+sed -i.bak '/→/d' book.tex
+sed -i.bak 's/\\chapter{composer.json}/\\chapter[Schema]{composer.json}/g' book.tex
+
+echo "\chapter{Articles}" >> book.tex
+cat articles/*.tex >> book.tex
+echo "\chapter{FAQs}" >> book.tex
+cat faqs/*.tex >> book.tex
+echo >> book.tex
+echo "\end{document}" >> book.tex
+
+# apply to whole book
+sed -i.bak 's/\\begin{verbatim}/\\vspace{1em} \\begin{lstlisting}/g' book.tex
+sed -i.bak 's/\\end{verbatim}/\\end{lstlisting}/g' book.tex
+rm book.tex.bak
+
+pdflatex book.tex
+pdflatex book.tex
+
+rm *.tex articles/*.tex dev/*.tex faqs/*.tex
+rm book.{aux,log,out,toc}