Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
annotate docs/conf.py @ 176:34c6b714c8cd
FIX: Do not use IBM Plex Mono but DejaVu Sans Mono because it has all needed symbols
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 11 May 2026 16:06:14 +0200 |
| parents | 551c3421bccb |
| children | dcbc66f851eb |
| rev | line source |
|---|---|
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 # Configuration file for the Sphinx documentation builder. |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 # |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 # For the full list of built-in configuration values, see the documentation: |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 # https://www.sphinx-doc.org/en/master/usage/configuration.html |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
6 import ast |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
7 import datetime |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
8 import functools |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
9 import io |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
10 import os |
|
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
11 import sys |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
12 import re |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
13 |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
14 sys.path.insert(0, os.path.dirname(os.path.abspath('.'))) |
|
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
15 |
|
164
a4317957148b
Move all lexers into a subpackage pygments_lexer_pseudocode2.lexers.
Franz Glasner <fzglas.hg@dom66.de>
parents:
160
diff
changeset
|
16 from pygments_lexer_pseudocode2.lexers.algpseudocode import AlgPseudocodeLexer |
|
68
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
17 |
|
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
18 |
| 134 | 19 needs_sphinx = '2.1' |
|
155
16faae7ecdb6
Document why Sphinx>=2.1 is needed
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
20 """2.1: - :py:meth:Sphinx.add_lexer` takes a class as argument |
|
16faae7ecdb6
Document why Sphinx>=2.1 is needed
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
21 |
|
16faae7ecdb6
Document why Sphinx>=2.1 is needed
Franz Glasner <fzglas.hg@dom66.de>
parents:
151
diff
changeset
|
22 """ |
| 134 | 23 |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
24 today = datetime.date.today().isoformat() |
| 134 | 25 |
|
171
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
26 master_doc = "index" |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
27 |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
28 # -- Project information ----------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
29 # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 project = 'Pygments Pseudocode Lexer' |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
32 copyright = u'2026 Franz Glasner. © Copyright 2015 Simon Wachter' |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
33 author = 'Franz Glasner' |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
34 # |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
35 # Determine "release" and other release metadata dynamically from the |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
36 # package's "__version__" or other VCS data. |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
37 # |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
38 with io.open("../pygments_lexer_pseudocode2/__init__.py", |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
39 "rt", |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
40 encoding="utf-8") as relfp: |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
41 verfiledata = relfp.read() |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
42 release = ast.literal_eval( |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
43 re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
44 verfiledata, |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
45 re.MULTILINE).group(1)) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
46 release_date = ( |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
47 ast.literal_eval( |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
48 re.search(r"""^\s*__date__\s*=\s*(("|')[^"']*\2)""", |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
49 verfiledata, |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
50 re.MULTILINE).group(1)) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
51 or "dev:%s" % (today,) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
52 ) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
53 release_rev = ast.literal_eval( |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
54 re.search(r"""^\s*__revision__\s*=\s*(("|')[^"']*\2)""", |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
55 verfiledata, |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
56 re.MULTILINE).group(1)) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
57 if release_rev.startswith("|") or release_rev.endswith("|"): |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
58 # Assume that make export (hg kwarchive) is not called. |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
59 import subprocess |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
60 try: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
61 release_rev = subprocess.check_output( |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
62 ["hg", "id", "-i"], stderr=subprocess.STDOUT) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
63 except Exception: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
64 release_rev = "<unknown>" |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
65 else: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
66 if sys.version_info[0] >= 3: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
67 release_rev = release_rev.decode("ascii") |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
68 release_rev = "dev:%s" % (release_rev.strip(),) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
69 define_rest_keywords = True |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
70 else: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
71 # |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
72 # Assume that all keywords are expanded properly everywhere: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
73 # do not define special VCSxxx keyword below. |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
74 # |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
75 define_rest_keywords = False |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
76 |
|
51
b4c255f8bdc4
Also define "version" (identical to "release" yet)
Franz Glasner <fzglas.hg@dom66.de>
parents:
50
diff
changeset
|
77 version = release |
|
157
902147c24f9b
Disable a default domain when generating the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
155
diff
changeset
|
78 primary_domain = None |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
79 |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
80 # -- General configuration --------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
81 # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
82 |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
83 extensions = [ |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
84 "sphinx.ext.todo", |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
85 ] |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
86 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
87 templates_path = ['_templates'] |
|
141
acd9073cbbe3
Make a lexerlist.rst that contains the table of the lexers because it is used at least twice
Franz Glasner <fzglas.hg@dom66.de>
parents:
139
diff
changeset
|
88 exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'lexerlist.rst'] |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
89 |
|
132
a3e765f1ad23
Explicitely set "highlight_languge" to "none" in the docs configuration.
Franz Glasner <fzglas.hg@dom66.de>
parents:
121
diff
changeset
|
90 highlight_language = "none" |
|
a3e765f1ad23
Explicitely set "highlight_languge" to "none" in the docs configuration.
Franz Glasner <fzglas.hg@dom66.de>
parents:
121
diff
changeset
|
91 |
|
145
c4f6f5e771b0
Also define the :algpseudocode: role globally in the package documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
144
diff
changeset
|
92 rst_prolog = """ |
|
c4f6f5e771b0
Also define the :algpseudocode: role globally in the package documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
144
diff
changeset
|
93 .. role:: algpseudocode(code) |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
94 .. |release_date| replace:: %s |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
95 .. |release_rev| replace:: %s |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
96 """ % (release_date, release_rev) |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
97 if define_rest_keywords: |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
98 rst_prolog += """\ |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
99 .. |VCSJustDate| replace:: %s |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
100 .. |VCSRevision| replace:: %s |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
101 """ % (release_date, release_rev) |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
143
diff
changeset
|
102 rst_epilog = """ |
|
145
c4f6f5e771b0
Also define the :algpseudocode: role globally in the package documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
144
diff
changeset
|
103 .. _Pygments: https://pygments.org/ |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
143
diff
changeset
|
104 .. _Sphinx: https://www.sphinx-doc.org |
|
145
c4f6f5e771b0
Also define the :algpseudocode: role globally in the package documentation.
Franz Glasner <fzglas.hg@dom66.de>
parents:
144
diff
changeset
|
105 .. _Python: https://www.python.org/ |
|
150
4acf578ae93f
Much more details in the documentation
Franz Glasner <fzglas.hg@dom66.de>
parents:
145
diff
changeset
|
106 .. _Algpseudocodex: https://ctan.org/pkg/algpseudocodex |
|
144
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
143
diff
changeset
|
107 """ |
|
b616f9645e37
More referencing with internal and external links
Franz Glasner <fzglas.hg@dom66.de>
parents:
143
diff
changeset
|
108 |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
109 |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
110 # --- Options for todo extension --------------------------------------------- |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
111 todo_include_todos = True |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
112 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
113 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
114 # -- Options for HTML output ------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
115 # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
116 |
|
139
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
117 html_static_path = ['_static'] |
|
151
4a8c122725b0
Move all the example files to "examples/"
Franz Glasner <fzglas.hg@dom66.de>
parents:
150
diff
changeset
|
118 html_extra_path = ['../LICENSES', './examples'] |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
119 html_copy_source = False |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
120 html_show_sourcelink = False |
|
139
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
121 |
| 121 | 122 #html_theme = 'alabaster' |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
123 html_theme = 'haiku' |
|
170
f761694373e0
Do not justify the documentation output.
Franz Glasner <fzglas.hg@dom66.de>
parents:
167
diff
changeset
|
124 html_css_files = ["custom-haiku.css"] |
|
139
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
125 html_title = 'The %s v%s' % (project, release) |
|
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
126 html_short_title = html_title |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
127 html_last_updated_fmt = "%s (rv:%s)" % (today, release_rev) |
|
143
6da3b9dd4294
FIX: Do not use the default pygments style "sphinx"; was submitted erroneously
Franz Glasner <fzglas.hg@dom66.de>
parents:
141
diff
changeset
|
128 #pygments_style = "sphinx" |
|
6da3b9dd4294
FIX: Do not use the default pygments style "sphinx"; was submitted erroneously
Franz Glasner <fzglas.hg@dom66.de>
parents:
141
diff
changeset
|
129 pygments_style = "default" |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
130 |
|
171
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
131 # --- Options for LaTeX output ----------------------------------------------- |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
132 # https://www.sphinx-doc.org/en/master/latex.html |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
133 latex_engine = 'lualatex' |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
134 latex_elements = { |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
135 "papersize": "a4paper", |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
136 "babel": r"\usepackage{babel}", |
|
176
34c6b714c8cd
FIX: Do not use IBM Plex Mono but DejaVu Sans Mono because it has all needed symbols
Franz Glasner <fzglas.hg@dom66.de>
parents:
173
diff
changeset
|
137 "fontpkg": r""" |
|
34c6b714c8cd
FIX: Do not use IBM Plex Mono but DejaVu Sans Mono because it has all needed symbols
Franz Glasner <fzglas.hg@dom66.de>
parents:
173
diff
changeset
|
138 \usepackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf} |
|
34c6b714c8cd
FIX: Do not use IBM Plex Mono but DejaVu Sans Mono because it has all needed symbols
Franz Glasner <fzglas.hg@dom66.de>
parents:
173
diff
changeset
|
139 \usepackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available |
|
34c6b714c8cd
FIX: Do not use IBM Plex Mono but DejaVu Sans Mono because it has all needed symbols
Franz Glasner <fzglas.hg@dom66.de>
parents:
173
diff
changeset
|
140 """, |
|
171
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
141 "releasename": "Version", |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
142 } |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
143 latex_theme = "manual" |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
144 latex_show_urls = "footnote" |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
145 latex_show_pagerefs = True |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
146 latex_domain_indices = False |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
147 latex_documents = [ |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
148 ("index-latex", "PygmentsPseudocodeLexer.tex", "The Pygments Pseudocode Lexer", "Franz Glasner", "manual", True), |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
149 ] |
|
4b87a9ecffdd
The first somewhat useable version of documentation in PDF.
Franz Glasner <fzglas.hg@dom66.de>
parents:
170
diff
changeset
|
150 |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
151 |
|
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
152 def setup(app): |
|
68
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
153 # |
|
167
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
154 # Custom release_date and commit id variables with a custom substitution |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
155 # |release_date| and |release_rev|'. |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
156 # |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
157 app.add_config_value('release_date', '', 'env') |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
158 app.add_config_value('release_rev', '', 'env') |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
159 |
|
ddefcc20367c
More static and/or dynamic metadata into README and project's init: release date, revision.
Franz Glasner <fzglas.hg@dom66.de>
parents:
166
diff
changeset
|
160 # |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
161 # Add a custom lexer: AlgPseudocodeLexer with custom init option "no_end" |
| 121 | 162 # Given lexer must be callable: so use an indirection with "partial". |
| 163 # | |
| 164 # See also: | |
| 165 # - https://stackoverflow.com/questions/11413203/sphinx-pygments-lexer-filter-extension | |
|
68
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
166 # |
|
63
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
167 app.add_lexer("NoEndAlgPseudocode", |
|
414bf3cbb152
Add a custom lexer to the Sphinx application dynamically with "no_end" set to True
Franz Glasner <fzglas.hg@dom66.de>
parents:
60
diff
changeset
|
168 functools.partial(AlgPseudocodeLexer, no_end=True)) |
|
160
b4028838e0c8
Implement lexer option "prohibit_raiseonerror_filter".
Franz Glasner <fzglas.hg@dom66.de>
parents:
157
diff
changeset
|
169 # For developing a lexer with smoother error handling |
|
b4028838e0c8
Implement lexer option "prohibit_raiseonerror_filter".
Franz Glasner <fzglas.hg@dom66.de>
parents:
157
diff
changeset
|
170 app.add_lexer("no-raiseonerror-algpseudocode", |
|
b4028838e0c8
Implement lexer option "prohibit_raiseonerror_filter".
Franz Glasner <fzglas.hg@dom66.de>
parents:
157
diff
changeset
|
171 functools.partial(AlgPseudocodeLexer, |
|
b4028838e0c8
Implement lexer option "prohibit_raiseonerror_filter".
Franz Glasner <fzglas.hg@dom66.de>
parents:
157
diff
changeset
|
172 prohibit_raiseonerror_filter=True)) |
|
166
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
173 # |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
174 # To test with the custom filter that maps |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
175 # Token.Error to Token.Generic.Error |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
176 # |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
177 app.add_lexer("genericerror-algpseudocode", |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
178 functools.partial(AlgPseudocodeLexer, |
|
6a7dace0141e
Also implement filters to replace tokens in a token stream: TokenReplaceFilter and ErrorToGenericErrorTokenFilter
Franz Glasner <fzglas.hg@dom66.de>
parents:
164
diff
changeset
|
179 filters=["errortogenericerror"])) |
