diff options
author | Jean Abou-Samra <jean@abou-samra.fr> | 2022-06-04 09:44:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-04 09:44:07 +0200 |
commit | 5bc04e214561d13cf8b6e29b7de30de03277d02c (patch) | |
tree | d2ce749f2787e3792ef662a0176bf8f74b7fe4d5 /doc/conf.py | |
parent | f5a08d7a648cb268e628e4b1616d9ca61dd8eaeb (diff) | |
download | pygments-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.py | 14 |
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) |