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 base class of source parsers.
The additional parsers should inherit this class instead of
docutils.parsers.Parser
. Compared withdocutils.parsers.Parser
, this class improves accessibility to Sphinx APIs.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
- env: BuildEnvironment¶
O objeto ambiente