Utilitários¶
Sphinx fornece classes e funções utilitárias para desenvolver extensões.
Classes base para componentes¶
Essas classes base são úteis para permitir que suas extensões obtenham componentes Sphinx (por exemplo, Config, BuildEnvironment e assim por diante) facilmente.
Nota
As subclasses deles podem não funcionar com docutils simples porque estão fortemente acopladas ao Sphinx.
- class sphinx.transforms.SphinxTransform(document, startnode=None)[código-fonte]¶
Uma classe base de Transforms.
Comparada com
docutils.transforms.Transform, esta classe melhora a acessibilidade às APIs do Sphinx.- property env: BuildEnvironment¶
Referência ao objeto
BuildEnvironment.
- class sphinx.transforms.post_transforms.SphinxPostTransform(document, startnode=None)[código-fonte]¶
Uma classe base de pós-transformações.
As pós-transformações são invocadas para modificar o documento e reestruturá-lo para saída. Eles resolvem referências, convertem imagens, fazem transformações especiais para cada formato de saída e assim por diante. Esta classe ajuda a implementar essas pós-transformações.
- apply(**kwargs: Any) None[código-fonte]¶
Substitui para aplicar a transformação à árvore do documentos.
- is_supported() bool[código-fonte]¶
Verifica se esta transformação funcionando para o construtor atual.
- run(**kwargs: Any) None[código-fonte]¶
Método principal de pós-transformações.
As subclasses devem sobrescrever este método em vez de
apply().
- class sphinx.util.docutils.SphinxDirective(name, arguments, options, content, lineno, content_offset, block_text, state, state_machine)[código-fonte]¶
Uma classe base para diretivas Sphinx.
Esta classe fornece métodos auxiliares para diretivas Sphinx.
Adicionado na versão 1.8.
Nota
As subclasses desta classe podem não funcionar com docutils. Esta classe está fortemente acoplada ao Sphinx.
- get_location() str[código-fonte]¶
Obtém informações de localização atuais para registro.
Adicionado na versão 4.2.
- get_source_info() tuple[str | None, int | None][código-fonte]¶
Obtenha o arquivo fonte e o número da linha.
Adicionado na versão 3.0.
- parse_content_to_nodes(allow_section_headings: bool = False) list[Node][código-fonte]¶
Analisa o conteúdo da diretiva em nós.
- Parâmetros:
allow_section_headings – Os títulos (seções) são permitidos no conteúdo da diretiva? Observe que esta opção ignora as verificações usuais do Docutils na estrutura do doctree, e o uso indevido desta opção pode levar a um doctree incoerente. No Docutils, os nós de seção devem ser apenas filhos dos nós
Structural, que incluem os nósdocument,sectionesidebar.
Adicionado na versão 7.4.
- parse_inline(text: str, *, lineno: int = -1) tuple[list[Node], list[system_message]][código-fonte]¶
Analisa text como elementos em linha.
- Parâmetros:
text – O texto a ser analisado, que deve ser uma única linha ou parágrafo. Não pode conter quaisquer elementos estruturais (títulos, transições, diretivas, etc.).
lineno – O número da linha onde o texto interpretado começa.
- Retorna:
Uma lista de nós (elementos de texto e embutidos) e uma lista de system_messages.
Adicionado na versão 7.4.
- parse_text_to_nodes(text: str = '', /, *, offset: int = -1, allow_section_headings: bool = False) list[Node][código-fonte]¶
Analisa text em nós.
- Parâmetros:
text – Texto, na forma de string.
StringListtambém é aceito.allow_section_headings – Os títulos (seções) são permitidos text? Observe que esta opção ignora as verificações usuais do Docutils na estrutura do doctree, e o uso indevido desta opção pode levar a um doctree incoerente. No Docutils, os nós de seção devem ser apenas filhos dos nós
Structural, que incluem os nósdocument,sectionesidebar.offset – A posição do conteúdo.
Adicionado na versão 7.4.
- set_source_info(node: Node) None[código-fonte]¶
Define o arquivo fonte e o número da linha para o nó.
Adicionado na versão 2.1.
- property env: BuildEnvironment¶
Referência ao objeto
BuildEnvironment.Adicionado na versão 1.8.
- class sphinx.util.docutils.SphinxRole[código-fonte]¶
Uma classe base para papéis do Sphinx.
Esta classe fornece métodos auxiliares para papéis do Sphinx.
Adicionado na versão 2.0.
Nota
As subclasses desta classe podem não funcionar com docutils. Esta classe está fortemente acoplada ao Sphinx.
- get_location() str[código-fonte]¶
Obtém informações de localização atuais para registro.
Adicionado na versão 4.2.
- content: Sequence[str]¶
Uma lista de strings, o conteúdo da diretiva para personalização (da diretiva “papel”).
- property env: BuildEnvironment¶
Referência ao objeto
BuildEnvironment.Adicionado na versão 2.0.
- inliner: Inliner¶
O objeto
docutils.parsers.rst.states.Inliner.
- class sphinx.util.docutils.ReferenceRole[código-fonte]¶
Uma classe base para papéis de referência.
Os papéis de referência podem aceitar o estilo
título do link <alvo>como texto para o papel. O resultado analisado; o alvo e o título do link serão armazenados emself.títuloeself.alvo.Adicionado na versão 2.0.
- class sphinx.transforms.post_transforms.images.ImageConverter(document, startnode=None)[código-fonte]¶
Uma classe base para conversores de imagem.
Um conversor de imagem é uma espécie de módulo de transformação Docutils. Ele é usado para converter arquivos de imagem que não são suportados por um construtor para o formato apropriado para esse construtor.
Por exemplo,
construtor LaTeXoferece suporte a PDF, PNG e JPEG como formatos de imagem. No entanto, não oferece suporte a imagens SVG. Nesse caso, o uso de conversores de imagens permite incorporar essas imagens não suportadas no documento. Um dos conversores de imagem; sphinx.ext.imgconverter pode converter uma imagem SVG para o formato PNG usando o Imagemagick internamente.Existem três etapas para criar seu conversor de imagem personalizado:
Faz uma subclasse da classe
ImageConverterSubstitui
conversion_rules,is_available()econvert()Registra seu conversor de imagem no Sphinx usando
Sphinx.add_post_transform()
- convert(_from: str | PathLike[str], _to: str | PathLike[str]) bool[código-fonte]¶
Converte um arquivo de imagem para o formato esperado.
_from é o caminho do arquivo de imagem fonte e _to é o caminho do arquivo alvo.
- is_available() bool[código-fonte]¶
Retorna o conversor de imagem está disponível ou não.
- available: bool | None = None¶
O conversor está disponível ou não. Será preenchido na primeira chamada da construção. O resultado é compartilhado no mesmo processo.
- conversion_rules: list[tuple[str, str]] = []¶
Uma regra de conversão suportada pelo conversor de imagem. É representado como uma lista de pares de formato de imagem fonte (mimetype) e alvo um:
conversion_rules = [ ('image/svg+xml', 'image/png'), ('image/gif', 'image/png'), ('application/pdf', 'image/png'), ]
- default_priority = 200¶
Prioridade numérica desta transformação, de 0 a 999 (substituição).
Funções unitárias¶
- sphinx.util.parsing.nested_parse_to_nodes(state: RSTState, text: str | StringList, *, source: str = '<generated text>', offset: int = 0, allow_section_headings: bool = True, keep_title_context: bool = False) list[Node][código-fonte]¶
Analisa text em nós.
- Parâmetros:
state – O estado da máquina de estado. Deve ser uma subclasse de
RSTState.text – Texto, na forma de string.
StringListtambém é aceito.source – A fonte do texto, usada ao criar uma nova
StringList.offset – A posição do conteúdo.
allow_section_headings – Os títulos (seções) são permitidos text? Observe que esta opção ignora as verificações usuais do Docutils na estrutura do doctree, e o uso indevido desta opção pode levar a um doctree incoerente. No Docutils, os nós de seção devem ser apenas filhos dos nós
documentesection.keep_title_context – Se for False (o padrão), então content será analisado como se fosse um documento independente, o que significa que as decorações do título (por exemplo, sublinhados) não precisam corresponder ao documento ao redor. Isso é útil quando o conteúdo analisado vem de um contexto completamente diferente, como docstrings. Se isto for True, então os sublinhados do título deverão corresponder aos do documento adjacente, caso contrário o comportamento será indefinido. Aviso: Até a versão 0.21 do Docutils, as seções com um estilo de decoração correspondente a um nível superior ao nível da seção atual eram descartadas silenciosamente! A partir da versão 0.22.1 do Docutils, um erro é relatado.
Adicionado na versão 7.4.
Tipos de utilitários¶
- class sphinx.util.typing.ExtensionMetadata[código-fonte]¶
Os metadados retornados pela função
setup()de uma extensão.Veja Metadados das extensões.
- env_version: int¶
Um número inteiro que identifica a versão dos dados ambientais adicionados pela extensão.