Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
annotate docs/conf.py @ 141:acd9073cbbe3
Make a lexerlist.rst that contains the table of the lexers because it is used at least twice
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 07 May 2026 10:52:14 +0200 |
| parents | d8ac51cba0ff |
| children | 6da3b9dd4294 |
| 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 |
|
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
|
7 import functools |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
8 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
|
9 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
|
10 import sys |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
11 import re |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
12 |
|
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
|
13 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
|
14 |
|
68
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
15 from pygments_lexer_pseudocode2.algpseudocode import AlgPseudocodeLexer |
|
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
16 |
|
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
17 |
| 134 | 18 needs_sphinx = '2.1' |
| 19 | |
| 20 | |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 # -- Project information ----------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
22 # 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
|
23 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 project = 'Pygments Pseudocode Lexer' |
|
118
a861ac4d11fc
Extend the copyright to Simon Wachter in the docs
Franz Glasner <fzglas.hg@dom66.de>
parents:
68
diff
changeset
|
25 copyright = '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
|
26 author = 'Franz Glasner' |
|
49
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
27 # Determine "release" dynamically from the package's "__version__" |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
28 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
|
29 "rt", |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
30 encoding="utf-8") as relfp: |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
31 release = ast.literal_eval( |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
32 re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
33 relfp.read(), |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
34 re.MULTILINE) |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
35 .group(1) |
|
5c0f26a21e81
Determine "release" dynamically from the package's "__version__"
Franz Glasner <fzglas.hg@dom66.de>
parents:
48
diff
changeset
|
36 ) |
|
51
b4c255f8bdc4
Also define "version" (identical to "release" yet)
Franz Glasner <fzglas.hg@dom66.de>
parents:
50
diff
changeset
|
37 version = release |
|
b4c255f8bdc4
Also define "version" (identical to "release" yet)
Franz Glasner <fzglas.hg@dom66.de>
parents:
50
diff
changeset
|
38 del relfp |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
39 |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
40 |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 # -- General configuration --------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 # 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
|
43 |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
44 extensions = [ |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
45 "sphinx.ext.todo", |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
46 ] |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
48 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
|
49 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
|
50 |
|
132
a3e765f1ad23
Explicitely set "highlight_languge" to "none" in the docs configuration.
Franz Glasner <fzglas.hg@dom66.de>
parents:
121
diff
changeset
|
51 highlight_language = "none" |
|
a3e765f1ad23
Explicitely set "highlight_languge" to "none" in the docs configuration.
Franz Glasner <fzglas.hg@dom66.de>
parents:
121
diff
changeset
|
52 |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
53 |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
54 # --- Options for todo extension --------------------------------------------- |
|
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
55 todo_include_todos = True |
|
45
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
56 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
57 |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
58 # -- Options for HTML output ------------------------------------------------- |
|
6ac1ea5d2d4a
Begin documentation: add the Sphinx generated configuration as-is
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
59 # 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
|
60 |
|
139
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
61 html_static_path = ['_static'] |
|
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
62 html_extra_path = ['../LICENSES'] |
|
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
63 |
| 121 | 64 #html_theme = 'alabaster' |
|
60
0ff291eac663
Minimal Sphinx configuration for the first tests
Franz Glasner <fzglas.hg@dom66.de>
parents:
51
diff
changeset
|
65 html_theme = 'haiku' |
|
139
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
66 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
|
67 html_short_title = html_title |
|
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
68 pygments_style = "sphinx" |
|
d8ac51cba0ff
Customize the HTML title for the haiku theme
Franz Glasner <fzglas.hg@dom66.de>
parents:
135
diff
changeset
|
69 #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
|
70 |
|
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
|
71 |
|
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
|
72 def setup(app): |
|
68
93ade4c595b7
Reorg conf.py: import globally
Franz Glasner <fzglas.hg@dom66.de>
parents:
63
diff
changeset
|
73 # |
|
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
|
74 # Add a custom lexer: AlgPseudocodeLexer with custom init option "no_end" |
| 121 | 75 # Given lexer must be callable: so use an indirection with "partial". |
| 76 # | |
| 77 # See also: | |
| 78 # - 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
|
79 # |
|
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
|
80 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
|
81 functools.partial(AlgPseudocodeLexer, no_end=True)) |
