xref: /php-src/docs/source/conf.py (revision 1668a160)
1# Configuration file for the Sphinx documentation builder.
2#
3# For the full list of built-in configuration values, see the documentation:
4# https://www.sphinx-doc.org/en/master/usage/configuration.html
5
6from dataclasses import asdict
7from sphinxawesome_theme import ThemeOptions
8from sphinxawesome_theme.postprocess import Icons
9from sphinx.highlighting import lexers
10from pygments.lexers.web import PhpLexer
11
12lexers['php'] = PhpLexer(startinline=True)
13lexers['php-annotations'] = PhpLexer(startinline=True)
14
15project = 'php-src docs'
16author = 'The PHP Group'
17extensions = [
18    'sphinx_design',
19]
20templates_path = ['_templates']
21html_theme = 'sphinxawesome_theme'
22html_static_path = ['_static']
23html_title = project
24html_permalinks_icon = Icons.permalinks_icon
25theme_options = ThemeOptions(
26    show_prev_next=True,
27    extra_header_link_icons={
28        'repository on GitHub': {
29            'link': 'https://github.com/php/php-src',
30            'icon': (
31                '<svg height="26px" style="margin-top:-2px;display:inline" '
32                'viewBox="0 0 45 44" '
33                'fill="currentColor" xmlns="http://www.w3.org/2000/svg">'
34                '<path fill-rule="evenodd" clip-rule="evenodd" '
35                'd="M22.477.927C10.485.927.76 10.65.76 22.647c0 9.596 6.223 17.736 '
36                '14.853 20.608 1.087.2 1.483-.47 1.483-1.047 '
37                '0-.516-.019-1.881-.03-3.693-6.04 '
38                '1.312-7.315-2.912-7.315-2.912-.988-2.51-2.412-3.178-2.412-3.178-1.972-1.346.149-1.32.149-1.32 '  # noqa
39                '2.18.154 3.327 2.24 3.327 2.24 1.937 3.318 5.084 2.36 6.321 '
40                '1.803.197-1.403.759-2.36 '
41                '1.379-2.903-4.823-.548-9.894-2.412-9.894-10.734 '
42                '0-2.37.847-4.31 2.236-5.828-.224-.55-.969-2.759.214-5.748 0 0 '
43                '1.822-.584 5.972 2.226 '
44                '1.732-.482 3.59-.722 5.437-.732 1.845.01 3.703.25 5.437.732 '
45                '4.147-2.81 5.967-2.226 '
46                '5.967-2.226 1.185 2.99.44 5.198.217 5.748 1.392 1.517 2.232 3.457 '
47                '2.232 5.828 0 '
48                '8.344-5.078 10.18-9.916 10.717.779.67 1.474 1.996 1.474 4.021 0 '
49                '2.904-.027 5.247-.027 '
50                '5.96 0 .58.392 1.256 1.493 1.044C37.981 40.375 44.2 32.24 44.2 '
51                '22.647c0-11.996-9.726-21.72-21.722-21.72" '
52                'fill="currentColor"/></svg>'
53            ),
54        },
55    },
56)
57html_theme_options = asdict(theme_options)
58pygments_style = 'sphinx'
59