拡張の作り方

setup

setup は 引数 app: sphinx.application.Sphinx をとる。

def setup(app: sphinx.application.Sphinx):
    # ノードを登録する
    app.add_node(deleted, html=(visit_deleted, depart_deleted))

    # ロール
    app.add_role('del', deleted_role)

    # Directiveを登録する
    app.add_directive("helloworld", HelloWorld)

    # conf を追加する
    app.add_config_value('graphviz_dot', 'dot', 'html')

    # custom event
    app.add_event('todo-defined')
    # event handler
    app.connect('env-updated', create_nojekyll_and_cname)

    # transform
    app.add_transform(GlossaryDecorator)

    # 拡張のメタデータを返す
    return {
        'version': '0.1',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }