mirror of https://github.com/mitsuhiko/flask.git
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
105 lines
3.4 KiB
from __future__ import print_function |
|
|
|
from pallets_sphinx_themes import get_version |
|
from pallets_sphinx_themes import ProjectLink |
|
|
|
# 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)
|
|
|