mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
👌 Make ExtensionMetadata type public and use it in internal extensions (#12153)
This type alias has now been fully documented for public consumption. This will be beneficial to the sphinx ecosystem, to aide/encourage extension developers to provide the correct metadata. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive
|
||||
|
||||
from sphinx.application import Sphinx
|
||||
from sphinx.util.typing import ExtensionMetadata
|
||||
|
||||
|
||||
class HelloWorld(Directive):
|
||||
def run(self):
|
||||
@@ -8,7 +11,7 @@ class HelloWorld(Directive):
|
||||
return [paragraph_node]
|
||||
|
||||
|
||||
def setup(app):
|
||||
def setup(app: Sphinx) -> ExtensionMetadata:
|
||||
app.add_directive('helloworld', HelloWorld)
|
||||
|
||||
return {
|
||||
|
||||
@@ -3,10 +3,12 @@ from collections import defaultdict
|
||||
from docutils.parsers.rst import directives
|
||||
|
||||
from sphinx import addnodes
|
||||
from sphinx.application import Sphinx
|
||||
from sphinx.directives import ObjectDescription
|
||||
from sphinx.domains import Domain, Index
|
||||
from sphinx.roles import XRefRole
|
||||
from sphinx.util.nodes import make_refnode
|
||||
from sphinx.util.typing import ExtensionMetadata
|
||||
|
||||
|
||||
class RecipeDirective(ObjectDescription):
|
||||
@@ -153,7 +155,7 @@ class RecipeDomain(Domain):
|
||||
self.data['recipes'].append((name, signature, 'Recipe', self.env.docname, anchor, 0))
|
||||
|
||||
|
||||
def setup(app):
|
||||
def setup(app: Sphinx) -> ExtensionMetadata:
|
||||
app.add_domain(RecipeDomain)
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive
|
||||
|
||||
from sphinx.application import Sphinx
|
||||
from sphinx.locale import _
|
||||
from sphinx.util.docutils import SphinxDirective
|
||||
from sphinx.util.typing import ExtensionMetadata
|
||||
|
||||
|
||||
class todo(nodes.Admonition, nodes.Element):
|
||||
@@ -111,7 +113,7 @@ def process_todo_nodes(app, doctree, fromdocname):
|
||||
node.replace_self(content)
|
||||
|
||||
|
||||
def setup(app):
|
||||
def setup(app: Sphinx) -> ExtensionMetadata:
|
||||
app.add_config_value('todo_include_todos', False, 'html')
|
||||
|
||||
app.add_node(todolist)
|
||||
|
||||
Reference in New Issue
Block a user