SF.net SVN: docutils:[9682 ] trunk/docutils/docutils
milde--- via Docutils-checkins <[email protected]>
| Newsgroups | gmane.text.docutils.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 9682
http://sourceforge.net/p/docutils/code/9682
Author: milde
Date: 2024-05-04 08:58:27 +0000 (Sat, 04 May 2024)
Log Message:
-----------
Fix node categories.
`rubric` is a Simple Body Element: add `General` to base classes.
`field` is also used for non-registered docinfo items:
add `Bibliographic` to base classes.
`decoration` is no category member of "Decorative Elements".
Change base class `Decoration` to `PreBibliographic`.
Adapt the `frontmatter.DocInfo` transform: skip `decoration`
(not `Decorative`) when looking for the insertion point of the
bibliographic fields.
This fixes a test failure with wrong position of header/footer.
Modified Paths:
--------------
trunk/docutils/docutils/nodes.py
trunk/docutils/docutils/transforms/frontmatter.py
Modified: trunk/docutils/docutils/nodes.py
===================================================================
--- trunk/docutils/docutils/nodes.py 2024-05-04 08:58:16 UTC (rev 9681)
+++ trunk/docutils/docutils/nodes.py 2024-05-04 08:58:27 UTC (rev 9682)
@@ -1108,7 +1108,7 @@
class Bibliographic:
- """Bibliographic Elements (visible document metadata)."""
+ """Bibliographic Elements (`docinfo` children)."""
class Decorative(PreBibliographic):
@@ -1585,7 +1585,7 @@
class title(Titular, PreBibliographic, TextElement): pass
class subtitle(Titular, PreBibliographic, TextElement): pass
-class rubric(Titular, TextElement): pass
+class rubric(Titular, General, TextElement): pass
# ==================
@@ -1620,7 +1620,7 @@
# Decorative Elements
# =====================
-class decoration(Decorative, Element):
+class decoration(PreBibliographic, Element):
"""Container for header and footer."""
def get_header(self):
@@ -1700,7 +1700,7 @@
class classifier(Part, TextElement): pass
class definition(Part, Element): pass
class field_list(Sequential, Element): pass
-class field(Part, Element): pass
+class field(Part, Bibliographic, Element): pass
class field_name(Part, TextElement): pass
class field_body(Part, Element): pass
Modified: trunk/docutils/docutils/transforms/frontmatter.py
===================================================================
--- trunk/docutils/docutils/transforms/frontmatter.py 2024-05-04 08:58:16 UTC (rev 9681)
+++ trunk/docutils/docutils/transforms/frontmatter.py 2024-05-04 08:58:27 UTC (rev 9682)
@@ -366,7 +366,7 @@
candidate = document[index]
if isinstance(candidate, nodes.field_list):
biblioindex = document.first_child_not_matching_class(
- (nodes.Titular, nodes.Decorative, nodes.meta))
+ (nodes.Titular, nodes.decoration, nodes.meta))
nodelist = self.extract_bibliographic(candidate)
del document[index] # untransformed field list (candidate)
document[biblioindex:biblioindex] = nodelist
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.