From 89f61fdec2e46182e9a9acf9da4c427b489d7495 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Sun, 6 Feb 2011 12:19:30 +0100 Subject: [PATCH] Yay. PDF docs for Jinja2 --- Makefile | 4 +- docs/conf.py | 27 ++++++---- docs/contents.rst.inc | 29 ++++++++++ docs/index.rst | 24 +-------- docs/jinjastyle.sty | 119 ++++++++++++++++++++++++++++++++++++++++++ docs/latexindex.rst | 6 +++ docs/logo.pdf | Bin 0 -> 5677 bytes 7 files changed, 173 insertions(+), 36 deletions(-) create mode 100644 docs/contents.rst.inc create mode 100644 docs/jinjastyle.sty create mode 100644 docs/latexindex.rst create mode 100644 docs/logo.pdf diff --git a/Makefile b/Makefile index 29a6b71a..5ea5669c 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ test: upload-docs: $(MAKE) -C docs html dirhtml latex - #$(MAKE) -C docs/_build/latex all-pdf + $(MAKE) -C docs/_build/latex all-pdf cd docs/_build/; mv html jinja-docs; zip -r jinja-docs.zip jinja-docs; mv jinja-docs html scp -r docs/_build/dirhtml/* pocoo.org:/var/www/jinja.pocoo.org/docs/ - #scp -r docs/_build/latex/Jinja.pdf pocoo.org:/var/www/jinja.pocoo.org/docs/jinja-docs.pdf + scp -r docs/_build/latex/Jinja.pdf pocoo.org:/var/www/jinja.pocoo.org/docs/jinja-docs.pdf scp -r docs/_build/jinja-docs.zip pocoo.org:/var/www/jinja.pocoo.org/docs/ .PHONY: test diff --git a/docs/conf.py b/docs/conf.py index 49f54118..0a5157de 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -119,21 +119,26 @@ latex_paper_size = 'a4' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, document class [howto/manual]). latex_documents = [ - ('index', 'Jinja2.tex', 'Jinja2 Documentation', 'Armin Ronacher', 'manual', 'toctree_only'), + ('latexindex', 'Jinja2.tex', 'Jinja2 Documentation', 'Armin Ronacher', + 'manual'), ] -# Additional stuff for the LaTeX preamble. -latex_preamble = ''' -\usepackage{palatino} -\definecolor{TitleColor}{rgb}{0.7,0,0} -\definecolor{InnerLinkColor}{rgb}{0.7,0,0} -\definecolor{OuterLinkColor}{rgb}{0.8,0,0} -\definecolor{VerbatimColor}{rgb}{0.985,0.985,0.985} -\definecolor{VerbatimBorderColor}{rgb}{0.8,0.8,0.8} +# Additional stuff for LaTeX +latex_elements = { + 'fontpkg': r'\usepackage{mathpazo}', + 'papersize': 'a4paper', + 'pointsize': '12pt', + 'preamble': r''' +\usepackage{jinjastyle} + +% i hate you latex +\DeclareUnicodeCharacter{14D}{o} ''' +} + +latex_use_parts = True -# Documents to append as an appendix to all manuals. -#latex_appendices = [] +latex_additional_files = ['jinjastyle.sty', 'logo.pdf'] # If false, no module index is generated. latex_use_modindex = False diff --git a/docs/contents.rst.inc b/docs/contents.rst.inc new file mode 100644 index 00000000..35d6d232 --- /dev/null +++ b/docs/contents.rst.inc @@ -0,0 +1,29 @@ +Jinja2 Documentation +-------------------- + +.. toctree:: + :maxdepth: 2 + + intro + api + sandbox + templates + extensions + integration + switching + tricks + +Additional Information +---------------------- + +.. toctree:: + :maxdepth: 2 + + faq + changelog + +If you can't find the information you're looking for, have a look at the +index of try to find it using the search function: + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/index.rst b/docs/index.rst index 6d050b45..7225e1cb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,29 +25,7 @@ with the optional sandboxed template execution environment: the correct line in the template. - configurable syntax -Jinja2 Documentation --------------------- - -.. toctree:: - :maxdepth: 2 - - intro - api - sandbox - templates - extensions - integration - switching - tricks - -Additional Information ----------------------- - -.. toctree:: - :maxdepth: 2 - - faq - changelog +.. include:: contents.rst.inc If you can't find the information you're looking for, have a look at the index of try to find it using the search function: diff --git a/docs/jinjastyle.sty b/docs/jinjastyle.sty new file mode 100644 index 00000000..da811ce3 --- /dev/null +++ b/docs/jinjastyle.sty @@ -0,0 +1,119 @@ +\definecolor{TitleColor}{rgb}{0,0,0} +\definecolor{InnerLinkColor}{rgb}{0,0,0} +\definecolor{OuterLinkColor}{rgb}{0.8,0,0} + +\renewcommand{\maketitle}{% + \begin{titlepage}% + \let\footnotesize\small + \let\footnoterule\relax + \ifsphinxpdfoutput + \begingroup + % This \def is required to deal with multi-line authors; it + % changes \\ to ', ' (comma-space), making it pass muster for + % generating document info in the PDF file. + \def\\{, } + \pdfinfo{ + /Author (\@author) + /Title (\@title) + } + \endgroup + \fi + \begin{flushright}% + %\sphinxlogo% + {\center + \vspace*{3cm} + \includegraphics{logo.pdf} + \vspace{3cm} + \par + {\rm\Huge \@title \par}% + {\em\LARGE \py@release\releaseinfo \par} + {\large + \@date \par + \py@authoraddress \par + }}% + \end{flushright}%\par + \@thanks + \end{titlepage}% + \cleardoublepage% + \setcounter{footnote}{0}% + \let\thanks\relax\let\maketitle\relax + %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} +} + +\fancypagestyle{normal}{ + \fancyhf{} + \fancyfoot[LE,RO]{{\thepage}} + \fancyfoot[LO]{{\nouppercase{\rightmark}}} + \fancyfoot[RE]{{\nouppercase{\leftmark}}} + \fancyhead[LE,RO]{{ \@title, \py@release}} + \renewcommand{\headrulewidth}{0.4pt} + \renewcommand{\footrulewidth}{0.4pt} +} + +\fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[LE,RO]{{\thepage}} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0.4pt} +} + +\titleformat{\section}{\Large}% + {\py@TitleColor\thesection}{0.5em}{\py@TitleColor}{\py@NormalColor} +\titleformat{\subsection}{\large}% + {\py@TitleColor\thesubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} +\titleformat{\subsubsection}{}% + {\py@TitleColor\thesubsubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} +\titleformat{\paragraph}{\large}% + {\py@TitleColor}{0em}{\py@TitleColor}{\py@NormalColor} + +\ChNameVar{\raggedleft\normalsize} +\ChNumVar{\raggedleft \bfseries\Large} +\ChTitleVar{\raggedleft \rm\Huge} + +\renewcommand\thepart{\@Roman\c@part} +\renewcommand\part{% + \pagestyle{plain} + \if@noskipsec \leavevmode \fi + \cleardoublepage + \vspace*{6cm}% + \@afterindentfalse + \secdef\@part\@spart} + +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + {\parindent \z@ %\center + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >\m@ne + \rm\Large \partname~\thepart + \par\nobreak + \fi + \MakeUppercase{\rm\Huge #2}% + \markboth{}{}\par}% + \nobreak + \vskip 8ex + \@afterheading} +\def\@spart#1{% + {\parindent \z@ %\center + \interlinepenalty \@M + \normalfont + \huge \bfseries #1\par}% + \nobreak + \vskip 3ex + \@afterheading} + +% use inconsolata font +\usepackage{inconsolata} + +% fix single quotes, for inconsolata. (does not work) +%%\usepackage{textcomp} +%%\begingroup +%% \catcode`'=\active +%% \g@addto@macro\@noligs{\let'\textsinglequote} +%% \endgroup +%%\endinput diff --git a/docs/latexindex.rst b/docs/latexindex.rst new file mode 100644 index 00000000..300e60d1 --- /dev/null +++ b/docs/latexindex.rst @@ -0,0 +1,6 @@ +:orphan: + +Jinja2 Documentation +==================== + +.. include:: contents.rst.inc diff --git a/docs/logo.pdf b/docs/logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3e8a9cf480ccbe4a30911bdb7d78c0b80e767c81 GIT binary patch literal 5677 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 literal 0 Hc-jL100001 -- 2.47.2