Parser API

A documentação do docutils descreve analisadores da seguinte forma:

O Analisador analisa o documento de entrada e cria uma representação de árvore de nós.

No Sphinx, os módulos do analisador funcionam da mesma forma que os docutils. Os analisadores são registrados no Sphinx por extensões usando APIs de aplicativos; Sphinx.add_source_suffix() e Sphinx.add_source_parser().

O source suffix é um mapeamento do sufixo do arquivo para o tipo de arquivo. Por exemplo, o arquivo .rst é mapeado para o tipo 'restructuredtext'. Sphinx usa o tipo de arquivo para procurar analisadores da lista registrada. Na busca, o Sphinx se refere ao atributo Parser.supported e pega um analisador que contém o tipo de arquivo no atributo.

Os usuários podem substituir os mapeamentos de sufixo de origem usando source_suffix como a seguir:

# a mapping from file suffix to file types
source_suffix = {
    '.rst': 'restructuredtext',
    '.md': 'markdown',
}

Você deve indicar os tipos de arquivo que seu analisador suporta. Isso permitirá que os usuários definam suas configurações adequadamente.

class sphinx.parsers.Parser[código fonte]

Uma classe base de analisadores de origem. Os analisadores adicionais devem herdar esta classe ao invés de docutils.parsers.Parser. Comparada com docutils.parsers.Parser, esta classe melhora a acessibilidade às APIs Sphinx.

As subclasses podem acessar objetos de runtime do núcleo sphinx (app, config e env).

set_application(app: Sphinx) None[código fonte]

set_application será chamado do Sphinx para definir a aplicação e outras variáveis de instância

Parâmetros:

app (sphinx.application.Sphinx) – Objeto de aplicação Sphinx

config: Config

O objeto configuração

env: BuildEnvironment

O objeto ambiente