summaryrefslogtreecommitdiff
path: root/doc/conf.py
diff options
context:
space:
mode:
authorJean Abou-Samra <jean@abou-samra.fr>2022-06-04 09:44:07 +0200
committerGitHub <noreply@github.com>2022-06-04 09:44:07 +0200
commit5bc04e214561d13cf8b6e29b7de30de03277d02c (patch)
treed2ce749f2787e3792ef662a0176bf8f74b7fe4d5 /doc/conf.py
parentf5a08d7a648cb268e628e4b1616d9ca61dd8eaeb (diff)
downloadpygments-git-5bc04e214561d13cf8b6e29b7de30de03277d02c.tar.gz
Support building docs when some plugins are installed (#2154)
* Support building docs when some plugins are installed Pass plugins=False to get_all_lexers, otherwise we try to document them, which fail. For styles, use STYLE_MAP directly; given that I'm trying to introduce a new plugin interface, I'd rather not change get_all_styles to support plugins=False right now. * Add comment (and a fix)
Diffstat (limited to 'doc/conf.py')
-rw-r--r--doc/conf.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/doc/conf.py b/doc/conf.py
index dbf4c142..0023585d 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -233,15 +233,16 @@ rst_prolog = '.. |language_count| replace:: {}'.format(len(list(pygments.lexers.
def pg_context(app, pagename, templatename, ctx, event_arg):
ctx['demo_active'] = bool(os.environ.get('WEBSITE_BUILD'))
+ if pagename in ('demo', 'languages'):
+ all_lexers = sorted(pygments.lexers.get_all_lexers(plugins=False), key=lambda x: x[0].lower())
if pagename == 'demo':
- ctx['lexers'] = sorted(pygments.lexers.get_all_lexers(), key=lambda x: x[0].lower())
+ ctx['lexers'] = all_lexers
if pagename == 'languages':
lexer_name_url = []
-
- for entry in sorted(pygments.lexers.LEXERS.values(), key=lambda x: x[1].lower()):
- lexer_cls = pygments.lexers.find_lexer_class(entry[1])
- lexer_name_url.append({'name': entry[1], 'url': lexer_cls.url})
+ for entry in all_lexers:
+ lexer_cls = pygments.lexers.find_lexer_class(entry[0])
+ lexer_name_url.append({'name': entry[0], 'url': lexer_cls.url})
ctx['languages'] = lexer_name_url
if pagename in ('styles', 'demo'):
@@ -251,7 +252,8 @@ def pg_context(app, pagename, templatename, ctx, event_arg):
min_contrasts = test_contrasts.min_contrasts()
ctx['styles_aa'] = []
ctx['styles_sub_aa'] = []
- for style in pygments.styles.get_all_styles():
+ # Use STYLE_MAP directly so we don't get plugins as with get_all_styles().
+ for style in pygments.styles.STYLE_MAP:
if not pygments.styles.get_style_by_name(style).web_style_gallery_exclude:
aa = min_contrasts[style] >= test_contrasts.WCAG_AA_CONTRAST
bg_r, bg_g, bg_b = test_contrasts.hex2rgb(pygments.styles.get_style_by_name(style).background_color)