def process_meta(app, doctree, fromdocname):
env = app.builder.env
env.page_to_version = defaultdict(set)
env.version_to_page = defaultdict(set)
# index metadata
for pagename, metadata in iter(env.metadata.items()):
if 'version' in metadata:
version = metadata['version']
env.page_to_version[pagename] = version
env.version_to_page[version].add(pagename)
if fromdocname == pagename:
# Alert on outdated version
current_version = env.config['version']
if version != current_version:
text = 'This page documents version {old} and has not yet been updated for version {new}'.format(
old=version,
new=current_version,
)
if app.config['versionwarning_node']:
prose = nodes.paragraph(text, text)
warning = nodes.warning(prose, prose)
doctree.insert(0, warning)
if app.config['versionwarning_console']:
app.warn(bold('[Version Warning: %s] ' % pagename) + red(text))
评论列表
文章目录