doc: Replace custom domain with add_object_type

Less overhead and doesn't require a new dependency
This commit is contained in:
patrick96 2023-04-03 01:37:26 +02:00 committed by Patrick Ziegler
parent c48aa1998c
commit 234e606b41
4 changed files with 37 additions and 61 deletions

View File

@ -13,12 +13,14 @@
# documentation root, use os.path.abspath to make it absolute, like shown here. # documentation root, use os.path.abspath to make it absolute, like shown here.
# #
import os import os
import sys
from pathlib import Path from pathlib import Path
import datetime import datetime
import sphinx import sphinx
import packaging.version import packaging.version
from sphinx.util.docfields import Field
from sphinx.locale import _
def get_version(root_path): def get_version(root_path):
""" """
@ -113,8 +115,6 @@ highlight_language = 'none'
smartquotes = False smartquotes = False
primary_domain = 'polybar'
# -- Options for HTML output ------------------------------------------------- # -- Options for HTML output -------------------------------------------------
@ -240,9 +240,34 @@ suppress_warnings = ['app.add_directive']
def setup(app): def setup(app):
sys.path.insert(0, os.path.abspath(doc_path)) app.add_object_type(
from configdomain import myDomain 'poly-setting',
app.add_domain(myDomain) 'poly-setting',
objname='configuration value',
indextemplate='pair: %s; configuration value',
doc_field_types=[
Field('type',
label=_("Type"),
names=['type'],
has_arg=False,
),
Field('tags',
label=_("Available Tags"),
names=['tags'],
has_arg=False,
),
Field('tokens',
label=_("Supported Tokens"),
names=['tokens'],
has_arg=False,
),
Field('default',
label=_("Default Value"),
names=['default'],
has_arg=False,
),
]
)
try: try:
inject_version_directives(app) inject_version_directives(app)

View File

@ -1,48 +0,0 @@
# -*- coding: utf-8 -*-
"""
configdomain
~~~~~~~~~~~~
TODO document
"""
from sphinxcontrib.domaintools import custom_domain
from sphinx.util.docfields import Field, GroupedField
__version__ = "0.1.0"
# for this module's sphinx doc
release = __version__
version = release.rsplit('.', 1)[0]
myDomain = custom_domain('PolybarConfigDomain',
name='polybar',
label="Polybar Configuration",
elements=dict(
setting=dict(
objname="Config Setting",
fields=[
Field('type',
label="Type",
names=['type'],
has_arg=False,
),
Field('tags',
label="Available Tags",
names=['tags'],
has_arg=False,
),
Field('tokens',
label="Supported Tokens",
names=['tokens'],
has_arg=False,
),
Field('default',
label="Default Value",
names=['default'],
has_arg=False,
),
]
),
))

View File

@ -1 +0,0 @@
sphinxcontrib-domaintools

View File

@ -33,7 +33,7 @@ Formats
The module only has a single format: The module only has a single format:
.. setting:: format .. poly-setting:: format
:type: |type-format| :type: |type-format|
:tags: ``<tray>``: Shows tray icons :tags: ``<tray>``: Shows tray icons
@ -42,21 +42,21 @@ The module only has a single format:
Settings Settings
-------- --------
.. setting:: tray-spacing .. poly-setting:: tray-spacing
Space added between tray icons Space added between tray icons
:type: |type-extent|, non-negative :type: |type-extent|, non-negative
:default: ``0px`` :default: ``0px``
.. setting:: tray-padding .. poly-setting:: tray-padding
Space added before and after each tray icon Space added before and after each tray icon
:type: |type-extent|, non-negative :type: |type-extent|, non-negative
:default: ``0px`` :default: ``0px``
.. setting:: tray-size .. poly-setting:: tray-size
Size of individual tray icons Size of individual tray icons
@ -65,7 +65,7 @@ Settings
:type: |type-pwo|, non-negative :type: |type-pwo|, non-negative
:default: 66% :default: 66%
.. setting:: tray-background .. poly-setting:: tray-background
Background color of tray icons Background color of tray icons
@ -76,7 +76,7 @@ Settings
:type: |type-color| :type: |type-color|
:default: ``${root.background}`` :default: ``${root.background}``
.. setting:: tray-foreground .. poly-setting:: tray-foreground
Tray icon color hint Tray icon color hint