summaryrefslogtreecommitdiff
path: root/docs/conf.py
diff options
context:
space:
mode:
Diffstat (limited to 'docs/conf.py')
-rw-r--r--docs/conf.py201
1 files changed, 101 insertions, 100 deletions
diff --git a/docs/conf.py b/docs/conf.py
index eba776628..15cffb1eb 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,6 +20,7 @@ import warnings
warnings.simplefilter('ignore', DeprecationWarning)
import pkg_resources
+import pylons_sphinx_themes
# skip raw nodes
from sphinx.writers.text import TextTranslator
@@ -48,45 +49,40 @@ book = os.environ.get('BOOK')
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
+ 'repoze.sphinx.autointerface',
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
- 'repoze.sphinx.autointerface',
+ 'sphinx.ext.intersphinx',
'sphinx.ext.viewcode',
- 'sphinx.ext.intersphinx'
+ 'sphinxcontrib.autoprogram',
+ # enable pylons_sphinx_latesturl when this branch is no longer "latest"
+ # 'pylons_sphinx_latesturl',
]
# Looks for objects in external projects
intersphinx_mapping = {
- 'tutorials': ('http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/', None),
- 'jinja2': ('http://docs.pylonsproject.org/projects/pyramid_jinja2/en/latest/', None),
- 'tm': (
- 'http://docs.pylonsproject.org/projects/pyramid_tm/en/latest/',
- None,
- ),
- 'zcomponent': ('http://docs.zope.org/zope.component', None),
- 'webtest': ('http://webtest.pythonpaste.org/en/latest', None),
- 'webob': ('http://docs.webob.org/en/latest', None),
- 'colander': (
- 'http://docs.pylonsproject.org/projects/colander/en/latest',
- None),
- 'deform': (
- 'http://docs.pylonsproject.org/projects/deform/en/latest',
- None),
- 'sqla': ('http://docs.sqlalchemy.org/en/latest', None),
- 'who': ('http://docs.repoze.org/who/latest', None),
- 'python': ('http://docs.python.org', None),
- 'python3': ('http://docs.python.org/3', None),
- 'tstring':
- ('http://docs.pylonsproject.org/projects/translationstring/en/latest',
- None),
- 'venusian':
- ('http://docs.pylonsproject.org/projects/venusian/en/latest', None),
- 'toolbar':
- ('http://docs.pylonsproject.org/projects/pyramid_debugtoolbar/en/latest',
- None),
- 'zcml':
- ('http://docs.pylonsproject.org/projects/pyramid_zcml/en/latest',
- None),
+ 'colander': ('https://docs.pylonsproject.org/projects/colander/en/latest', None),
+ 'cookbook': ('https://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/', None),
+ 'cookiecutter': ('https://cookiecutter.readthedocs.io/en/latest/', None),
+ 'deform': ('https://docs.pylonsproject.org/projects/deform/en/latest', None),
+ 'jinja2': ('https://docs.pylonsproject.org/projects/pyramid-jinja2/en/latest/', None),
+ 'plaster': ('https://docs.pylonsproject.org/projects/plaster/en/latest/', None),
+ 'pylonswebframework': ('https://docs.pylonsproject.org/projects/pylons-webframework/en/latest/', None),
+ 'python': ('https://docs.python.org/3', None),
+ 'pytest': ('https://docs.pytest.org/en/latest/', None),
+ 'sphinx': ('http://www.sphinx-doc.org/en/latest', None),
+ 'sqla': ('https://docs.sqlalchemy.org/en/latest', None),
+ 'tm': ('https://docs.pylonsproject.org/projects/pyramid-tm/en/latest/', None),
+ 'toolbar': ('https://docs.pylonsproject.org/projects/pyramid-debugtoolbar/en/latest', None),
+ 'tstring': ('https://docs.pylonsproject.org/projects/translationstring/en/latest', None),
+ 'tutorials': ('https://docs.pylonsproject.org/projects/pyramid-tutorials/en/latest/', None),
+ 'venusian': ('https://docs.pylonsproject.org/projects/venusian/en/latest', None),
+ 'webob': ('https://docs.pylonsproject.org/projects/webob/en/latest/', None),
+ 'webtest': ('https://docs.pylonsproject.org/projects/webtest/en/latest/', None),
+ 'who': ('https://repozewho.readthedocs.io/en/latest', None),
+ 'zcml': ('https://docs.pylonsproject.org/projects/pyramid-zcml/en/latest', None),
+ 'zcomponent': ('https://zopecomponent.readthedocs.io/en/latest/', None),
+ 'zinterface': ('https://zopeinterface.readthedocs.io/en/latest/', None),
}
@@ -134,33 +130,47 @@ if book:
# Options for HTML output
# -----------------------
+# enable pylons_sphinx_latesturl when this branch is no longer "latest"
+# pylons_sphinx_latesturl_base = (
+# 'https://docs.pylonsproject.org/projects/pyramid/en/latest/')
+# pylons_sphinx_latesturl_pagename_overrides = {
+# # map old pagename -> new pagename
+# 'whatsnew-1.0': 'index',
+# 'whatsnew-1.1': 'index',
+# 'whatsnew-1.2': 'index',
+# 'whatsnew-1.3': 'index',
+# 'whatsnew-1.4': 'index',
+# 'whatsnew-1.5': 'index',
+# 'whatsnew-1.6': 'index',
+# 'whatsnew-1.7': 'index',
+# 'whatsnew-1.8': 'index',
+# 'whatsnew-1.9': 'index',
+# 'whatsnew-1.10': 'index',
+# 'tutorials/gae/index': 'index',
+# 'api/chameleon_text': 'api',
+# 'api/chameleon_zpt': 'api',
+# }
-# Add and use Pylons theme
-if 'sphinx-build' in ' '.join(sys.argv): # protect against dumb importers
- from subprocess import call, Popen, PIPE
- cwd = os.getcwd()
- p = Popen('which git', shell=True, stdout=PIPE)
- here = os.path.abspath(os.path.dirname(__file__))
- parent = os.path.abspath(os.path.dirname(here))
- _themes = os.path.join(here, '_themes')
- git = p.stdout.read().strip()
- try:
- os.chdir(parent)
- if not os.listdir(_themes):
- call([git, 'submodule', '--init'])
- else:
- call([git, 'submodule', 'update'])
- sys.path.append(_themes)
- finally:
- os.chdir(cwd)
-
-html_theme_path = ['_themes']
html_theme = 'pyramid'
+html_theme_path = pylons_sphinx_themes.get_html_themes_path()
html_theme_options = dict(
github_url='https://github.com/Pylons/pyramid',
+ # On master branch and new branch still in
+ # pre-release status: true; else: false.
in_progress='true',
+ # On branches previous to "latest": true; else: false.
+ outdated='false',
)
+# Control display of sidebars
+html_sidebars = {'**': [
+ 'localtoc.html',
+ 'ethicalads.html',
+ 'relations.html',
+ 'sourcelink.html',
+ 'searchbox.html',
+]}
+
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
html_title = 'The Pyramid Web Framework v%s' % release
@@ -169,9 +179,8 @@ html_title = 'The Pyramid Web Framework v%s' % release
# using the given strftime format.
html_last_updated_fmt = '%b %d, %Y'
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-html_use_smartypants = False # people use cutnpaste in some places
+# Do not use smart quotes.
+smartquotes = False
# Output file base name for HTML help builder.
htmlhelp_basename = 'pyramid'
@@ -185,7 +194,10 @@ latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
latex_font_size = '10pt'
-latex_additional_files = ['_static/latex-note.png', '_static/latex-warning.png']
+latex_additional_files = [
+ '_static/latex-note.png',
+ '_static/latex-warning.png',
+]
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, document class [howto/manual]).
@@ -197,10 +209,10 @@ latex_documents = [
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
-latex_use_parts = True
+latex_toplevel_sectioning = "section"
# If false, no module index is generated.
-latex_use_modindex = False
+latex_domain_indices = False
## Say, for a moment that you have a twoside document that needs a 3cm
## inner margin to allow for binding and at least two centimetres the
@@ -215,6 +227,17 @@ latex_use_modindex = False
_PREAMBLE = r"""
\usepackage[]{geometry}
\geometry{bindingoffset=0.45in,textheight=7.25in,hdivide={0.5in,*,0.75in},vdivide={1in,7.25in,1in},papersize={7.5in,9.25in}}
+
+%XeLaTeX packages
+\usepackage{xltxtra}
+\usepackage{fontspec} %Font package
+\usepackage{xunicode}
+
+%Select fonts
+\setmainfont[Mapping=tex-text]{nimbusserif}
+\setsansfont[Mapping=tex-text]{nimbussans}
+\setmonofont{nimbusmono}
+
\hypersetup{
colorlinks=true,
linkcolor=black,
@@ -271,28 +294,22 @@ _PREAMBLE = r"""
\definecolor{VerbatimColor}{rgb}{1,1,1}
\definecolor{VerbatimBorderColor}{rgb}{1,1,1}
-\makeatletter
-\renewcommand{\py@noticestart@warning}{\py@heavybox}
-\renewcommand{\py@noticeend@warning}{\py@endheavybox}
-\renewcommand{\py@noticestart@note}{\py@heavybox}
-\renewcommand{\py@noticeend@note}{\py@endheavybox}
-\makeatother
-
% icons in note and warning boxes
\usepackage{ifthen}
-% Keep a copy of the original notice environment
-\let\origbeginnotice\notice
-\let\origendnotice\endnotice
-% Redefine the notice environment so we can add our own code to it
-\renewenvironment{notice}[2]{%
- \origbeginnotice{#1}{}% equivalent to original \begin{notice}{#1}{#2}
+% Keep a copy of the original sphinxadmonition environment
+\let\origbeginadmon\sphinxadmonition
+\let\origendadmon\endsphinxadmonition
+
+% Redefine the sphinxadmonition environment so we can add our own code to it
+\renewenvironment{sphinxadmonition}[2]{%
+ \origbeginadmon{#1}{}% equivalent to original \begin{sphinxadmonition}{#1}{#2}
% load graphics
\ifthenelse{\equal{#1}{warning}}{\includegraphics{latex-warning.png}}{}
\ifthenelse{\equal{#1}{note}}{\includegraphics{latex-note.png}}{}
% etc.
-}{%
- \origendnotice% equivalent to original \end{notice}
+ }{%
+\origendadmon % equivalent to original \end{sphinxadmonition}
}
% try to prevent code-block boxes from splitting across pages
@@ -313,7 +330,6 @@ _PREAMBLE = r"""
latex_elements = {
'preamble': _PREAMBLE,
- 'wrapperclass': 'book',
'date': '',
'releasename': 'Version',
'title': r'The Pyramid Web Framework',
@@ -337,17 +353,6 @@ def frontmatter(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
return [nodes.raw(
'',
- r"""
-\frontmatter
-% prevent part/chapter/section numbering
-\setcounter{secnumdepth}{-2}
-% suppress headers
-\pagestyle{plain}
-% reset page counter
-\setcounter{page}{1}
-% suppress first toc pagenum
-\addtocontents{toc}{\protect\thispagestyle{empty}}
-""",
format='latex')]
@@ -355,26 +360,14 @@ def mainmatter(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
return [nodes.raw(
'',
- r"""
-\mainmatter
-% allow part/chapter/section numbering
-\setcounter{secnumdepth}{2}
-% get headers back
-\pagestyle{fancy}
-\fancyhf{}
-\renewcommand{\headrulewidth}{0.5pt}
-\renewcommand{\footrulewidth}{0pt}
-\fancyfoot[C]{\thepage}
-\fancyhead[RO]{\rightmark}
-\fancyhead[LE]{\leftmark}
-""",
format='latex')]
def backmatter(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
- return [nodes.raw('', '\\backmatter\n\\setcounter{secnumdepth}{-1}\n',
- format='latex')]
+ return [nodes.raw(
+ '',
+ format='latex')]
def app_role(role, rawtext, text, lineno, inliner, options={}, content=[]):
@@ -452,3 +445,11 @@ epub_exclude_files = ['_static/opensearch.xml', '_static/doctools.js',
epub_tocdepth = 3
# For a list of all settings, visit http://sphinx-doc.org/config.html
+
+# -- Options for linkcheck builder -------------------------------------------
+
+# List of items to ignore when running linkcheck
+linkcheck_ignore = [
+ r'http://localhost:\d+',
+ r'http://localhost',
+]