Mercurial > hgrepos > Python > libs > pygments-lexer-pseudocode2
comparison docs/conf.py @ 249:feaa552cbe98
Some overhowl of the docs configuration in conf.py.
Sync with other projects.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 16 May 2026 15:16:42 +0200 |
| parents | 76996a1e4ca7 |
| children | 5d3f7d80766f |
comparison
equal
deleted
inserted
replaced
| 248:d76f090d991f | 249:feaa552cbe98 |
|---|---|
| 41 # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information | 41 # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information |
| 42 | 42 |
| 43 project = 'Pygments Pseudocode Lexer' | 43 project = 'Pygments Pseudocode Lexer' |
| 44 copyright = u'2026 Franz Glasner. © Copyright 2015 Simon Wachter' | 44 copyright = u'2026 Franz Glasner. © Copyright 2015 Simon Wachter' |
| 45 author = 'Franz Glasner' | 45 author = 'Franz Glasner' |
| 46 | |
| 46 # | 47 # |
| 47 # Determine "release" and other release metadata dynamically from the | 48 # Determine "release" and other release metadata dynamically from the |
| 48 # package's "__version__" or other VCS data. | 49 # package's "__version__" or other VCS data. |
| 49 # | 50 # |
| 51 | |
| 52 # | |
| 53 # Optimistically assume that all keywords are expanded properly everywhere: | |
| 54 # do not define special VCSxxx keyword below. | |
| 55 # | |
| 56 define_rest_keywords = False | |
| 50 with io.open("../pygments_lexer_pseudocode2/__init__.py", | 57 with io.open("../pygments_lexer_pseudocode2/__init__.py", |
| 51 "rt", | 58 "rt", |
| 52 encoding="utf-8") as relfp: | 59 encoding="utf-8") as relfp: |
| 53 verfiledata = relfp.read() | 60 verfiledata = relfp.read() |
| 54 release = ast.literal_eval( | 61 release = ast.literal_eval( |
| 55 re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", | 62 re.search(r"""^\s*__version__\s*=\s*(("|')[^"']*\2)""", |
| 56 verfiledata, | 63 verfiledata, |
| 57 re.MULTILINE).group(1)) | 64 re.MULTILINE).group(1)) |
| 58 release_date = today = ( | 65 release_date = today = ast.literal_eval( |
| 59 ast.literal_eval( | 66 re.search(r"""^\s*__date__\s*=\s*(("|')[^"']*\2)""", |
| 60 re.search(r"""^\s*__date__\s*=\s*(("|')[^"']*\2)""", | 67 verfiledata, |
| 61 verfiledata, | 68 re.MULTILINE).group(1)) |
| 62 re.MULTILINE).group(1)) | 69 if (not release_date |
| 63 or "dev-%s" % (current_date,) | 70 or (release_date.startswith("|") and release_date.endswith("|"))): |
| 64 ) | 71 release_date = today = "dev-%s" % (current_date,) |
| 65 release_rev = ast.literal_eval( | 72 release_rev = ast.literal_eval( |
| 66 re.search(r"""^\s*__revision__\s*=\s*(("|')[^"']*\2)""", | 73 re.search(r"""^\s*__revision__\s*=\s*(("|')[^"']*\2)""", |
| 67 verfiledata, | 74 verfiledata, |
| 68 re.MULTILINE).group(1)) | 75 re.MULTILINE).group(1)) |
| 69 if release_rev.startswith("|") or release_rev.endswith("|"): | 76 if (not release_rev |
| 70 # Assume that make export (hg kwarchive) may not has been called. | 77 or (release_rev.startswith("|") or release_rev.endswith("|"))): |
| 71 import subprocess | 78 # |
| 72 try: | 79 # Above assumption is not true: "hg kwarchive" may not have been called. |
| 73 release_rev = subprocess.check_output( | 80 # Try to determine from VCS. |
| 74 ["hg", "id", "-i"], stderr=subprocess.STDOUT) | 81 # |
| 75 except Exception: | 82 import subprocess |
| 76 release_rev = "<unknown>" | 83 try: |
| 77 else: | 84 release_rev = subprocess.check_output( |
| 78 if sys.version_info[0] >= 3: | 85 ["hg", "id", "-i"], stderr=subprocess.STDOUT) |
| 79 release_rev = release_rev.decode("ascii") | 86 except Exception: |
| 80 release_rev = "dev-%s" % (release_rev.strip(),) | 87 release_rev = "<UNKNOWN>" |
| 81 define_rest_keywords = True | |
| 82 else: | 88 else: |
| 83 # | 89 if sys.version_info[0] >= 3: |
| 84 # Assume that all keywords are expanded properly everywhere: | 90 release_rev = release_rev.decode("ascii") |
| 85 # do not define special VCSxxx keyword below. | 91 release_rev = "dev-%s" % (release_rev.strip(),) |
| 86 # | 92 define_rest_keywords = True |
| 87 define_rest_keywords = False | |
| 88 | 93 |
| 89 version = release | 94 version = release |
| 90 primary_domain = None | 95 primary_domain = None |
| 91 | 96 |
| 92 # -- General configuration --------------------------------------------------- | 97 # -- General configuration --------------------------------------------------- |
| 148 "babel": r"\usepackage{babel}", | 153 "babel": r"\usepackage{babel}", |
| 149 "fontpkg": r"\usepackage[fonts=adobesourcepro]{my-doc-fonts}", | 154 "fontpkg": r"\usepackage[fonts=adobesourcepro]{my-doc-fonts}", |
| 150 "releasename": "Version", | 155 "releasename": "Version", |
| 151 "fncychap": r"\usepackage[Sonny]{fncychap}", | 156 "fncychap": r"\usepackage[Sonny]{fncychap}", |
| 152 "preamble": r"\usepackage[stdtitle=false]{my-doc-style}", | 157 "preamble": r"\usepackage[stdtitle=false]{my-doc-style}", |
| 153 "maketitle": r"\builddate{%s}\vcsrevision{%s}\sphinxmaketitle" \ | 158 "maketitle": r"\builddate{%s}\vcsrevision{%s}\sphinxmaketitle" |
| 154 % (current_date, release_rev), | 159 % (current_date, release_rev), |
| 155 } | 160 } |
| 156 latex_theme = "manual" | 161 latex_theme = "manual" |
| 157 latex_show_urls = "footnote" | 162 latex_show_urls = "footnote" |
| 158 latex_show_pagerefs = True | 163 latex_show_pagerefs = True |
| 159 latex_domain_indices = False | 164 latex_domain_indices = False |
| 167 "examples/algorithm-dinic.pseudocode", | 172 "examples/algorithm-dinic.pseudocode", |
| 168 "examples/algorithm-ford-fulkerson.pseudocode", | 173 "examples/algorithm-ford-fulkerson.pseudocode", |
| 169 "examples/algorithm-edmonds-karp.pseudocode", | 174 "examples/algorithm-edmonds-karp.pseudocode", |
| 170 ] | 175 ] |
| 171 | 176 |
| 177 | |
| 172 def setup(app): | 178 def setup(app): |
| 173 # | 179 # |
| 174 # Custom release_date and commit id variables with a custom substitution | 180 # Custom release_date and commit id variables with a custom substitution |
| 175 # |release_date| and |release_rev|'. | 181 # |release_date| and |release_rev|'. |
| 176 # | 182 # |
| 206 # IMPORTANT: Synchronize names with pyproject.toml! | 212 # IMPORTANT: Synchronize names with pyproject.toml! |
| 207 # | 213 # |
| 208 try: | 214 try: |
| 209 if not pygments.lexers.find_lexer_class("AlgPseudocode"): | 215 if not pygments.lexers.find_lexer_class("AlgPseudocode"): |
| 210 sphinx.util.logging.getLogger("conf-setup").info( | 216 sphinx.util.logging.getLogger("conf-setup").info( |
| 211 "%s","Installing lexer `AlgPseudocode' and language variants") | 217 "%s", "Installing lexer `AlgPseudocode' and language variants") |
| 212 for clsname, lexer in ( | 218 for clsname, lexer in ( |
| 213 ("AlgPseudocodeLexer", AlgPseudocodeLexer), | 219 ("AlgPseudocodeLexer", AlgPseudocodeLexer), |
| 214 ("AlgPseudocodeLexer_DE", AlgPseudocodeLexer_DE), | 220 ("AlgPseudocodeLexer_DE", AlgPseudocodeLexer_DE), |
| 215 ("AlgPseudocodeLexer_FR", AlgPseudocodeLexer_FR)): | 221 ("AlgPseudocodeLexer_FR", AlgPseudocodeLexer_FR)): |
| 216 pygments.lexers.LEXERS[clsname] = ( | 222 pygments.lexers.LEXERS[clsname] = ( |
| 219 tuple(lexer.aliases), | 225 tuple(lexer.aliases), |
| 220 tuple(lexer.filenames), | 226 tuple(lexer.filenames), |
| 221 tuple(lexer.mimetypes)) | 227 tuple(lexer.mimetypes)) |
| 222 if not pygments.lexers.find_lexer_class("FrPseudocode"): | 228 if not pygments.lexers.find_lexer_class("FrPseudocode"): |
| 223 sphinx.util.logging.getLogger("conf-setup").info( | 229 sphinx.util.logging.getLogger("conf-setup").info( |
| 224 "%s","Installing lexer `FrPseudocode'") | 230 "%s", "Installing lexer `FrPseudocode'") |
| 225 for clsname, lexer in ( | 231 for clsname, lexer in ( |
| 226 ("FrPseudocodeLexer", FrPseudocodeLexer),): | 232 ("FrPseudocodeLexer", FrPseudocodeLexer),): |
| 227 pygments.lexers.LEXERS[clsname] = ( | 233 pygments.lexers.LEXERS[clsname] = ( |
| 228 "pygments_lexer_pseudocode2.lexers.fr_pseudocode", | 234 "pygments_lexer_pseudocode2.lexers.fr_pseudocode", |
| 229 lexer.name, | 235 lexer.name, |
| 230 tuple(lexer.aliases), | 236 tuple(lexer.aliases), |
| 231 tuple(lexer.filenames), | 237 tuple(lexer.filenames), |
| 232 tuple(lexer.mimetypes)) | 238 tuple(lexer.mimetypes)) |
| 233 if not pygments.filters.find_filter_class("tokenreplace"): | 239 if not pygments.filters.find_filter_class("tokenreplace"): |
| 234 sphinx.util.logging.getLogger("conf-setup").info( | 240 sphinx.util.logging.getLogger("conf-setup").info( |
| 235 "%s","Installing filter `tokenreplace'") | 241 "%s", "Installing filter `tokenreplace'") |
| 236 pygments.filters.FILTERS["tokenreplace"] = TokenReplaceFilter | 242 pygments.filters.FILTERS["tokenreplace"] = TokenReplaceFilter |
| 237 if not pygments.filters.find_filter_class("errortogenericerror"): | 243 if not pygments.filters.find_filter_class("errortogenericerror"): |
| 238 sphinx.util.logging.getLogger("conf-setup").info( | 244 sphinx.util.logging.getLogger("conf-setup").info( |
| 239 "%s","Installing filter `errortogenericerror'") | 245 "%s", "Installing filter `errortogenericerror'") |
| 240 pygments.filters.FILTERS["errortogenericerror"] = \ | 246 pygments.filters.FILTERS["errortogenericerror"] = \ |
| 241 ErrorToGenericErrorTokenFilter | 247 ErrorToGenericErrorTokenFilter |
| 242 except Exception as ex: | 248 except Exception as ex: |
| 243 sphinx.util.logging.getLogger("conf-setup").error("%s", str(ex)) | 249 sphinx.util.logging.getLogger("conf-setup").error("%s", str(ex)) |
| 244 sphinx.util.logging.getLogger("conf-setup").error( | 250 sphinx.util.logging.getLogger("conf-setup").error( |
| 245 "%s", | 251 "%s", |
