Mercurial > hg > CbC > CbC_llvm
diff docs/conf.py @ 147:c2174574ed3a
LLVM 10
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 16:55:33 +0900 |
parents | 3a76565eade5 |
children |
line wrap: on
line diff
--- a/docs/conf.py Sat Feb 17 09:57:20 2018 +0900 +++ b/docs/conf.py Wed Aug 14 16:55:33 2019 +0900 @@ -9,8 +9,9 @@ # # All configuration values have a default; values that are commented out # serve to show the default. +from __future__ import print_function -import sys, os +import sys, os, re from datetime import date # If extensions (or modules to document with autodoc) are in another directory, @@ -31,7 +32,9 @@ templates_path = ['_templates'] # The suffix of source filenames. -source_suffix = '.rst' +source_suffix = ['.rst', '.md'] + +source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'} # The encoding of source files. #source_encoding = 'utf-8-sig' @@ -48,9 +51,9 @@ # built documents. # # The short version. -version = '7' +version = '10' # The full version, including alpha/beta/rc tags. -release = '7' +release = '10' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -217,35 +220,53 @@ # Automatically derive the list of man pages from the contents of the command # guide subdirectory. basedir = os.path.dirname(__file__) -man_page_authors = "Maintained by The LLVM Team (http://llvm.org/)." +man_page_authors = "Maintained by the LLVM Team (https://llvm.org/)." command_guide_subpath = 'CommandGuide' command_guide_path = os.path.join(basedir, command_guide_subpath) -for name in os.listdir(command_guide_path): - # Ignore non-ReST files and the index page. - if not name.endswith('.rst') or name in ('index.rst',): - continue + + +def process_md(name): + file_subpath = os.path.join(command_guide_subpath, name) + with open(os.path.join(command_guide_path, name)) as f: + title = f.readline().rstrip('\n') - # Otherwise, automatically extract the description. + m = re.match(r'^# (\S+) - (.+)$', title) + if m is None: + print("error: invalid title in %r " + "(expected '# <name> - <description>')" % file_subpath, + file=sys.stderr) + else: + man_pages.append((file_subpath.replace('.md',''), m.group(1), + m.group(2), man_page_authors, 1)) + + +def process_rst(name): file_subpath = os.path.join(command_guide_subpath, name) with open(os.path.join(command_guide_path, name)) as f: title = f.readline().rstrip('\n') header = f.readline().rstrip('\n') if len(header) != len(title): - print >>sys.stderr, ( - "error: invalid header in %r (does not match title)" % ( - file_subpath,)) + print('error: invalid header in %r (does not match title)' % + file_subpath, file=sys.stderr) if ' - ' not in title: - print >>sys.stderr, ( - ("error: invalid title in %r " - "(expected '<name> - <description>')") % ( - file_subpath,)) - + print("error: invalid title in %r " + "(expected '<name> - <description>')" % file_subpath, + file=sys.stderr) # Split the name out of the title. name,description = title.split(' - ', 1) man_pages.append((file_subpath.replace('.rst',''), name, description, man_page_authors, 1)) + +for name in os.listdir(command_guide_path): + # Process Markdown files + if name.endswith('.md'): + process_md(name) + # Process ReST files apart from the index page. + elif name.endswith('.rst') and name != 'index.rst': + process_rst(name) + # If true, show URL addresses after external links. #man_show_urls = False @@ -255,3 +276,6 @@ # Pygment lexer are sometimes out of date (when parsing LLVM for example) or # wrong. Suppress the warning so the build doesn't abort. suppress_warnings = [ 'misc.highlighting_failure' ] + +# Direct html-ified man pages to llvm.org +manpages_url = 'https://llvm.org/docs/CommandGuide/{page}.html'