def parse(app: Sphinx, text: str, docname: str = 'index') -> nodes.document: """Parse a string as reStructuredText with Sphinx application.""" try: app.env.temp_data['docname'] = docname reader = SphinxStandaloneReader() reader.setup(app) parser = RSTParser() parser.set_application(app) with sphinx_domains(app.env): return publish_doctree(text, path.join(app.srcdir, docname + '.rst'), reader=reader, parser=parser, settings_overrides={'env': app.env, 'gettext_compact': True}) finally: app.env.temp_data.pop('docname', None)
def parse(app: Sphinx, text: str, docname: str = "index") -> nodes.document: """Parse a string as MystMarkdown with Sphinx application.""" app.env.temp_data["docname"] = docname app.env.all_docs[docname] = time.time() reader = SphinxStandaloneReader() reader.setup(app) parser = MystParser() parser.set_application(app) with sphinx_domains(app.env): return publish_doctree( text, path.join(app.srcdir, docname + ".md"), reader=reader, parser=parser, parser_name="markdown", settings_overrides={"env": app.env, "gettext_compact": True}, )