You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.4 KiB

from __future__ import print_function
from pallets_sphinx_themes import ProjectLink, get_version
# Project --------------------------------------------------------------
project = 'Flask'
copyright = '2010 Pallets Team'
author = 'Pallets Team'
release, version = get_version('Flask')
# General --------------------------------------------------------------
master_doc = 'index'
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinxcontrib.log_cabinet',
'pallets_sphinx_themes',
]
intersphinx_mapping = {
'python': ('https://docs.python.org/3/', None),
'werkzeug': ('http://werkzeug.pocoo.org/docs/', None),
'click': ('http://click.pocoo.org/', None),
'jinja': ('http://jinja.pocoo.org/docs/', None),
'itsdangerous': ('https://pythonhosted.org/itsdangerous', None),
'sqlalchemy': ('https://docs.sqlalchemy.org/en/latest/', None),
'wtforms': ('https://wtforms.readthedocs.io/en/latest/', None),
'blinker': ('https://pythonhosted.org/blinker/', None),
}
# HTML -----------------------------------------------------------------
html_theme = 'flask'
html_theme_options = {"index_sidebar_logo": False}
html_context = {
'project_links': [
ProjectLink('Donate to Pallets', 'https://palletsprojects.com/donate'),
ProjectLink('Flask Website', 'https://palletsprojects.com/p/flask/'),
ProjectLink('PyPI releases', 'https://pypi.org/project/Flask/'),
ProjectLink('Source Code', 'https://github.com/pallets/flask/'),
ProjectLink('Issue Tracker', 'https://github.com/pallets/flask/issues/'),
],
}
html_sidebars = {
'index': ['project.html', "localtoc.html", 'versions.html', 'searchbox.html'],
'**': ['localtoc.html', 'relations.html', 'versions.html', 'searchbox.html']
}
singlehtml_sidebars = {"index": ["project.html", "versions.html", "localtoc.html"]}
html_static_path = ['_static']
html_favicon = '_static/flask-icon.png'
html_logo = '_static/flask-logo-sidebar.png'
html_title = "Flask Documentation ({})".format(version)
html_show_sourcelink = False
html_domain_indices = False
# LaTeX ----------------------------------------------------------------
latex_documents = [
(master_doc, 'Flask-{}.tex'.format(version), html_title, author, 'manual'),
]
latex_use_modindex = False
latex_elements = {
'papersize': 'a4paper',
'pointsize': '12pt',
'fontpkg': r'\usepackage{mathpazo}',
'preamble': r'\usepackage{flaskstyle}',
}
latex_use_parts = True
latex_additional_files = ['flaskstyle.sty', 'logo.pdf']
# Local Extensions -----------------------------------------------------
def github_link(
name, rawtext, text, lineno, inliner, options=None, content=None
):
app = inliner.document.settings.env.app
release = app.config.release
base_url = 'https://github.com/pallets/flask/tree/'
if text.endswith('>'):
words, text = text[:-1].rsplit('<', 1)
words = words.strip()
else:
words = None
if release.endswith('dev'):
url = '{0}master/{1}'.format(base_url, text)
else:
url = '{0}{1}/{2}'.format(base_url, release, text)
if words is None:
words = url
from docutils.nodes import reference
from docutils.parsers.rst.roles import set_classes
options = options or {}
set_classes(options)
node = reference(rawtext, words, refuri=url, **options)
return [node], []
def setup(app):
app.add_role('gh', github_link)