Skip to content

Commit

Permalink
Added code to export to PDF (tldr-pages#861)
Browse files Browse the repository at this point in the history
  • Loading branch information
maxbeier authored and waldyrious committed May 9, 2016
1 parent 5cc6ae0 commit 17f0b9a
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 0 deletions.
29 changes: 29 additions & 0 deletions scripts/generate-pdf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env sh

src=../pages
target=../tldr-book.pdf
template=template.tex

function getContent {

cd $src

pages=$(ls -d */ | # list directories
tr -d '/' | # remove trailing slash
tr '[:lower:]' '[:upper:]') # transform to uppercase

for page in $pages; do

echo "\n\n# $page" >&1 # add a new chapter

for file in $(ls $page); do

echo "\n\n" | # add some line breaks for latex
cat - $page/$file | # get the content of the tldr file
sed 's/^#/##/g' >&1 # transform h1 (chapter) to h2 (section)

done
done
}

getContent | pandoc -o $target --template $template --latex-engine xelatex --listings
106 changes: 106 additions & 0 deletions scripts/template.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
% -----------------------------------------------
% Pandoc LaTeX Template for TLDR Pages
% -----------------------------------------------
% Partly from The Little MongoDB Book
% github.com/karlseguin/the-little-mongodb-book
% -----------------------------------------------

\documentclass[
12pt, % font size
DIV12, % space / margins
a4paper, % paper format
oneside, % one-sided document
]{scrreprt}

% Typography
\usepackage[no-math]{fontspec}
\defaultfontfeatures{Scale = MatchLowercase}

% Fonts
\setmainfont[Ligatures = TeX]{Verdana}
\setsansfont[Ligatures = TeX]{Verdana}
\setmonofont{Consolas}

% Set Sans font in headings
\usepackage{sectsty}
\allsectionsfont{\sffamily}

% Set polyglossia language
\usepackage{polyglossia}
\setdefaultlanguage{english}


% -----------------------------------------------
% Project specific changes
% -----------------------------------------------

% fix for pandoc 1.14 (from https://github.com/mpastell/Pweave/pull/29/)
\providecommand{\tightlist}{
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

% Disable section numbers
\setcounter{secnumdepth}{0}

% Print program synopsis as normal but a bit bigger text
\def\quote{\large}

% Set en dash as list item
\renewcommand{\labelitemi}{--}

% Decrease indentation of list items
\usepackage{enumitem}
\setlist[itemize,1]{
leftmargin = 11pt,
itemindent = 0pt,
}

% Align commands with list items
\setlength{\parindent}{11pt}


% -----------------------------------------------
% Colors, Listings and Links
% -----------------------------------------------

\usepackage{xcolor}
\usepackage{listings}

\definecolor{tldrBlue}{HTML}{0074d9}

\lstset{
moredelim = *[is][\color{tldrBlue}]{\{\{}{\}\}}, % the magic for the blue
basicstyle = \ttfamily, % monospace font for code
backgroundcolor = \color{white}, % for multiline code samples (there are none atm)
extendedchars = true,
breaklines = true,
keepspaces = true, % if not set to true, the space between two following variables is removed when setting `basicstyle` (why? WHY?)
}

\usepackage[
linktoc = all % link the text and the page number in the TOC
]{hyperref}


% -----------------------------------------------
% The Document
% -----------------------------------------------

\begin{document}

\thispagestyle{plain}

\begin{titlepage}
\begin{center}
\vspace*{11em}
\huge{\textbf{TLDR Pages}}\\[1em]
\LARGE{The Book}\\[3em]
\large{Simplified and community-driven man pages}\\[1em]
\ttfamily{\href{https://tldr-pages.github.io}{tldr-pages.github.io}}
\end{center}
\end{titlepage}

\tableofcontents % Table of Contents #usefulcomments

$body$ % this is were pandoc hooks in

\end{document}

0 comments on commit 17f0b9a

Please sign in to comment.