|
|
|
@ -1,9 +1,5 @@
|
|
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
|
from __future__ import print_function |
|
|
|
|
|
|
|
|
|
import inspect |
|
|
|
|
import re |
|
|
|
|
|
|
|
|
|
from pallets_sphinx_themes import ProjectLink, get_version |
|
|
|
|
|
|
|
|
|
# Project -------------------------------------------------------------- |
|
|
|
@ -16,14 +12,12 @@ 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), |
|
|
|
@ -38,45 +32,32 @@ intersphinx_mapping = {
|
|
|
|
|
# HTML ----------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
html_theme = 'flask' |
|
|
|
|
html_theme_options = {"index_sidebar_logo": False} |
|
|
|
|
html_context = { |
|
|
|
|
'project_links': [ |
|
|
|
|
ProjectLink('Donate to Pallets', 'https://psfmember.org/civicrm/contribute/transact?reset=1&id=20'), |
|
|
|
|
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/'), |
|
|
|
|
ProjectLink('Issue Tracker', 'https://github.com/pallets/flask/issues/'), |
|
|
|
|
], |
|
|
|
|
'canonical_url': 'http://flask.pocoo.org/docs/{}/'.format(version), |
|
|
|
|
'carbon_ads_args': 'zoneid=1673&serve=C6AILKT&placement=pocooorg', |
|
|
|
|
} |
|
|
|
|
html_sidebars = { |
|
|
|
|
'index': [ |
|
|
|
|
'project.html', |
|
|
|
|
'versions.html', |
|
|
|
|
'carbon_ads.html', |
|
|
|
|
'searchbox.html', |
|
|
|
|
], |
|
|
|
|
'**': [ |
|
|
|
|
'localtoc.html', |
|
|
|
|
'relations.html', |
|
|
|
|
'versions.html', |
|
|
|
|
'carbon_ads.html', |
|
|
|
|
'searchbox.html', |
|
|
|
|
] |
|
|
|
|
'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-favicon.ico' |
|
|
|
|
html_logo = '_static/flask.png' |
|
|
|
|
html_additional_pages = { |
|
|
|
|
'404': '404.html', |
|
|
|
|
} |
|
|
|
|
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', 'Flask Documentation', 'Pallets Team', 'manual'), |
|
|
|
|
(master_doc, 'Flask-{}.tex'.format(version), html_title, author, 'manual'), |
|
|
|
|
] |
|
|
|
|
latex_use_modindex = False |
|
|
|
|
latex_elements = { |
|
|
|
@ -88,54 +69,8 @@ latex_elements = {
|
|
|
|
|
latex_use_parts = True |
|
|
|
|
latex_additional_files = ['flaskstyle.sty', 'logo.pdf'] |
|
|
|
|
|
|
|
|
|
# linkcheck ------------------------------------------------------------ |
|
|
|
|
|
|
|
|
|
linkcheck_anchors = False |
|
|
|
|
|
|
|
|
|
# Local Extensions ----------------------------------------------------- |
|
|
|
|
|
|
|
|
|
def unwrap_decorators(): |
|
|
|
|
import sphinx.util.inspect as inspect |
|
|
|
|
import functools |
|
|
|
|
|
|
|
|
|
old_getargspec = inspect.getargspec |
|
|
|
|
def getargspec(x): |
|
|
|
|
return old_getargspec(getattr(x, '_original_function', x)) |
|
|
|
|
inspect.getargspec = getargspec |
|
|
|
|
|
|
|
|
|
old_update_wrapper = functools.update_wrapper |
|
|
|
|
def update_wrapper(wrapper, wrapped, *a, **kw): |
|
|
|
|
rv = old_update_wrapper(wrapper, wrapped, *a, **kw) |
|
|
|
|
rv._original_function = wrapped |
|
|
|
|
return rv |
|
|
|
|
functools.update_wrapper = update_wrapper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unwrap_decorators() |
|
|
|
|
del unwrap_decorators |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_internal_mark_re = re.compile(r'^\s*:internal:\s*$(?m)', re.M) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def skip_internal(app, what, name, obj, skip, options): |
|
|
|
|
docstring = inspect.getdoc(obj) or '' |
|
|
|
|
|
|
|
|
|
if skip or _internal_mark_re.search(docstring) is not None: |
|
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def cut_module_meta(app, what, name, obj, options, lines): |
|
|
|
|
"""Remove metadata from autodoc output.""" |
|
|
|
|
if what != 'module': |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
lines[:] = [ |
|
|
|
|
line for line in lines |
|
|
|
|
if not line.startswith((':copyright:', ':license:')) |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def github_link( |
|
|
|
|
name, rawtext, text, lineno, inliner, options=None, content=None |
|
|
|
|
): |
|
|
|
@ -166,6 +101,4 @@ def github_link(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def setup(app): |
|
|
|
|
app.connect('autodoc-skip-member', skip_internal) |
|
|
|
|
app.connect('autodoc-process-docstring', cut_module_meta) |
|
|
|
|
app.add_role('gh', github_link) |
|
|
|
|