diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..bc7faa03 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:focal + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && apt-get install --yes --no-install-recommends \ + python3-pip \ + python3-sphinx \ + latexmk \ + texlive \ + texlive-formats-extra \ + arcanist \ + build-essential \ + python3-sphinx-rtd-theme \ + python3-sphinx-bootstrap-theme + + diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..9e34267a --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,33 @@ +pipeline { + agent { + dockerfile true + } + stages { + stage('Checkout Source') { + steps { + git 'https://phab.lubuntu.me/source/manual.git' + } + } + stage('Clean Environment') { + steps { + sh 'make clean' + } + } + stage('Build The Manual As PDF') { + steps { + sh 'make latexpdf' + } + } + } + post { + success { + publishHTML (target : [allowMissing: false, + alwaysLinkToLastBuild: true, + keepAll: true, + reportDir: 'build/latex', + reportFiles: 'LubuntuManual.pdf', + reportName: 'Lubuntu Manual', + reportTitles: 'Lubuntu Manual']) + } + } +} diff --git a/source/conf.py b/source/conf.py index b8f01463..cb0a24c7 100644 --- a/source/conf.py +++ b/source/conf.py @@ -221,6 +221,8 @@ htmlhelp_basename = 'LubuntuManualdoc' # -- Options for LaTeX output --------------------------------------------- +latex_engine = 'xelatex' + latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # @@ -237,8 +239,24 @@ latex_elements = { # Latex figure (float) alignment # # 'figure_align': 'htbp', + 'fontpkg': r''' + \setmainfont{DejaVu Serif} + \setsansfont{DejaVu Sans} + \setmonofont{DejaVu Sans Mono} + ''', + 'preamble': r''' + \usepackage[titles]{tocloft} + \cftsetpnumwidth {1.25cm}\cftsetrmarg{1.5cm} + \setlength{\cftchapnumwidth}{0.75cm} + \setlength{\cftsecindent}{\cftchapnumwidth} + \setlength{\cftsecnumwidth}{1.25cm} + ''', + 'fncychap': r'\usepackage[Bjornstrup]{fncychap}', + 'printindex': r'\footnotesize\raggedright\printindex', } +latex_show_urls = 'footnote' + # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]).