do_sphinx.py
64 lines
| 1.8 KiB
| text/x-python
|
PythonLexer
/ doc / do_sphinx.py
vivainio2
|
r1170 | import fileinput,os,sys | ||
Ville M. Vainio
|
r1167 | |||
Ville M. Vainio
|
r1118 | def oscmd(c): | ||
Ville M. Vainio
|
r1167 | os.system(c) | ||
vivainio2
|
r1170 | # html manual. | ||
Ville M. Vainio
|
r1167 | oscmd('sphinx-build -d build/doctrees source build/html') | ||
if sys.platform != 'win32': | ||||
vivainio2
|
r1170 | # LaTeX format. | ||
Ville M. Vainio
|
r1167 | oscmd('sphinx-build -b latex -d build/doctrees source build/latex') | ||
vivainio2
|
r1170 | |||
# Produce pdf. | ||||
Ville M. Vainio
|
r1167 | os.chdir('build/latex') | ||
vivainio2
|
r1170 | |||
Ville M. Vainio
|
r1185 | # Change chapter style to section style: allows chapters to start on | ||
# the current page. Works much better for the short chapters we have. | ||||
# This must go in the class file rather than the preamble, so we modify | ||||
# manual.cls at runtime. | ||||
chapter_cmds=r''' | ||||
% Local changes. | ||||
\renewcommand\chapter{ | ||||
\thispagestyle{plain} | ||||
\global\@topnum\z@ | ||||
\@afterindentfalse | ||||
\secdef\@chapter\@schapter | ||||
} | ||||
\def\@makechapterhead#1{ | ||||
\vspace*{10\p@} | ||||
{\raggedright \reset@font \Huge \bfseries \thechapter \quad #1} | ||||
\par\nobreak | ||||
\hrulefill | ||||
\par\nobreak | ||||
\vspace*{10\p@} | ||||
} | ||||
\def\@makeschapterhead#1{ | ||||
\vspace*{10\p@} | ||||
{\raggedright \reset@font \Huge \bfseries #1} | ||||
\par\nobreak | ||||
\hrulefill | ||||
\par\nobreak | ||||
\vspace*{10\p@} | ||||
} | ||||
''' | ||||
unmodified=True | ||||
vivainio2
|
r1170 | for line in fileinput.FileInput('manual.cls',inplace=1): | ||
Ville M. Vainio
|
r1185 | if 'Support for module synopsis' in line and unmodified: | ||
line=chapter_cmds+line | ||||
elif 'makechapterhead' in line: | ||||
# Already have altered manual.cls: don't need to again. | ||||
unmodified=False | ||||
vivainio2
|
r1170 | print line, | ||
# Copying the makefile produced by sphinx... | ||||
Ville M. Vainio
|
r1167 | oscmd('pdflatex ipython.tex') | ||
oscmd('pdflatex ipython.tex') | ||||
oscmd('pdflatex ipython.tex') | ||||
oscmd('makeindex -s python.ist ipython.idx') | ||||
oscmd('makeindex -s python.ist modipython.idx') | ||||
oscmd('pdflatex ipython.tex') | ||||
oscmd('pdflatex ipython.tex') | ||||
Ville M. Vainio
|
r1188 | oscmd('cp ipython.pdf ../html') | ||
Ville M. Vainio
|
r1167 | os.chdir('../..') | ||