Skip to content

Commit cf26dea

Browse files
committed
Improve generation of meta nodes
1 parent 59d5384 commit cf26dea

File tree

3 files changed

+11
-74
lines changed

3 files changed

+11
-74
lines changed

myst_parser/mdit_to_docutils/base.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from docutils.parsers.rst.directives.misc import Include
2929
from docutils.parsers.rst.languages import get_language as get_language_rst
3030
from docutils.statemachine import StringList
31-
from docutils.transforms.components import Filter
3231
from docutils.utils import Reporter, SystemMessage, new_document
3332
from docutils.utils.code_analyzer import Lexer, LexerError, NumberLines
3433
from markdown_it import MarkdownIt
@@ -1883,7 +1882,7 @@ def render_substitution(self, token: SyntaxTreeNode, inline: bool) -> None:
18831882

18841883
def html_meta_to_nodes(
18851884
data: dict[str, Any], document: nodes.document, line: int, reporter: Reporter
1886-
) -> list[nodes.pending | nodes.system_message]:
1885+
) -> list[nodes.meta | nodes.system_message]:
18871886
"""Replicate the `meta` directive,
18881887
by converting a dictionary to a list of pending meta nodes
18891888
@@ -1917,14 +1916,8 @@ def html_meta_to_nodes(
19171916
except ValueError as error:
19181917
msg = reporter.error(f'Error parsing meta tag attribute "{key}": {error}.')
19191918
output.append(msg)
1920-
continue
1921-
1922-
pending = nodes.pending(
1923-
Filter,
1924-
{"component": "writer", "format": "html", "nodes": [meta_node]},
1925-
)
1926-
document.note_pending(pending)
1927-
output.append(pending)
1919+
else:
1920+
output.append(meta_node)
19281921

19291922
return output
19301923

tests/test_renderers/fixtures/docutil_syntax_elements.md

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -672,38 +672,10 @@ myst:
672672
---
673673
.
674674
<document source="notset">
675-
<pending>
676-
.. internal attributes:
677-
.transform: docutils.transforms.components.Filter
678-
.details:
679-
component: 'writer'
680-
format: 'html'
681-
nodes:
682-
<meta content="Sphinx, documentation, builder" name="keywords">
683-
<pending>
684-
.. internal attributes:
685-
.transform: docutils.transforms.components.Filter
686-
.details:
687-
component: 'writer'
688-
format: 'html'
689-
nodes:
690-
<meta content="An amusing story" lang="en" name="description">
691-
<pending>
692-
.. internal attributes:
693-
.transform: docutils.transforms.components.Filter
694-
.details:
695-
component: 'writer'
696-
format: 'html'
697-
nodes:
698-
<meta content="Un histoire amusant" lang="fr" name="description">
699-
<pending>
700-
.. internal attributes:
701-
.transform: docutils.transforms.components.Filter
702-
.details:
703-
component: 'writer'
704-
format: 'html'
705-
nodes:
706-
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
675+
<meta content="Sphinx, documentation, builder" name="keywords">
676+
<meta content="An amusing story" lang="en" name="description">
677+
<meta content="Un histoire amusant" lang="fr" name="description">
678+
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
707679
.
708680

709681
Full Test:

tests/test_renderers/fixtures/sphinx_syntax_elements.md

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -674,38 +674,10 @@ myst:
674674
---
675675
.
676676
<document source="<src>/index.md">
677-
<pending>
678-
.. internal attributes:
679-
.transform: docutils.transforms.components.Filter
680-
.details:
681-
component: 'writer'
682-
format: 'html'
683-
nodes:
684-
<meta content="Sphinx, documentation, builder" name="keywords">
685-
<pending>
686-
.. internal attributes:
687-
.transform: docutils.transforms.components.Filter
688-
.details:
689-
component: 'writer'
690-
format: 'html'
691-
nodes:
692-
<meta content="An amusing story" lang="en" name="description">
693-
<pending>
694-
.. internal attributes:
695-
.transform: docutils.transforms.components.Filter
696-
.details:
697-
component: 'writer'
698-
format: 'html'
699-
nodes:
700-
<meta content="Un histoire amusant" lang="fr" name="description">
701-
<pending>
702-
.. internal attributes:
703-
.transform: docutils.transforms.components.Filter
704-
.details:
705-
component: 'writer'
706-
format: 'html'
707-
nodes:
708-
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
677+
<meta content="Sphinx, documentation, builder" name="keywords">
678+
<meta content="An amusing story" lang="en" name="description">
679+
<meta content="Un histoire amusant" lang="fr" name="description">
680+
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
709681
.
710682

711683
Full Test:

0 commit comments

Comments
 (0)