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 aplicações; 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]¶
A classe base para analisadores sintáticos de código-fonte.
Analisadores adicionais devem herdar desta classe em vez de
docutils.parsers.Parser. Esta classe fornece acesso aos objetos principais do Sphinx: 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
- property env: BuildEnvironment¶
O objeto ambiente.