summaryrefslogtreecommitdiff
path: root/docutils/transforms
diff options
context:
space:
mode:
authorgoodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-04-07 19:36:11 +0000
committergoodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2005-04-07 19:36:11 +0000
commitdcc80f043243f34d0373a3150bacfff20b3212ae (patch)
tree624c9c69692d40720438d43ee87a41ba82b70e8c /docutils/transforms
parent71532b70cb8661bee0e5cb6cdf823c6902eb80bf (diff)
downloaddocutils-dcc80f043243f34d0373a3150bacfff20b3212ae.tar.gz
added "header" & "footer" directives, tests, docs, support, and some tweaks
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@3184 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms')
-rw-r--r--docutils/transforms/frontmatter.py3
-rw-r--r--docutils/transforms/universal.py27
2 files changed, 12 insertions, 18 deletions
diff --git a/docutils/transforms/frontmatter.py b/docutils/transforms/frontmatter.py
index 8a5581313..22ecbbf25 100644
--- a/docutils/transforms/frontmatter.py
+++ b/docutils/transforms/frontmatter.py
@@ -258,11 +258,10 @@ class DocInfo(Transform):
candidate = document[index]
if isinstance(candidate, nodes.field_list):
biblioindex = document.first_child_not_matching_class(
- nodes.Titular)
+ (nodes.Titular, nodes.Decorative))
nodelist = self.extract_bibliographic(candidate)
del document[index] # untransformed field list (candidate)
document[biblioindex:biblioindex] = nodelist
- return
def extract_bibliographic(self, field_list):
docinfo = nodes.docinfo()
diff --git a/docutils/transforms/universal.py b/docutils/transforms/universal.py
index c77d72df8..4ed7b6896 100644
--- a/docutils/transforms/universal.py
+++ b/docutils/transforms/universal.py
@@ -32,19 +32,16 @@ class Decorations(Transform):
default_priority = 820
def apply(self):
- header = self.generate_header()
- footer = self.generate_footer()
- if header or footer:
- decoration = nodes.decoration()
- decoration += header
- decoration += footer
- document = self.document
- index = document.first_child_not_matching_class(
- nodes.PreDecorative)
- if index is None:
- document += decoration
- else:
- document[index:index] = [decoration]
+ header_nodes = self.generate_header()
+ if header_nodes:
+ decoration = self.document.get_decoration()
+ header = decoration.get_header()
+ header.children.extend(header_nodes)
+ footer_nodes = self.generate_footer()
+ if footer_nodes:
+ decoration = self.document.get_decoration()
+ footer = decoration.get_footer()
+ footer.children.extend(footer_nodes)
def generate_header(self):
return None
@@ -79,9 +76,7 @@ class Decorations(Transform):
nodes.reference('', 'reStructuredText', refuri='http://'
'docutils.sourceforge.net/rst.html'),
nodes.Text(' source.\n')])
- footer = nodes.footer()
- footer += nodes.paragraph('', '', *text)
- return footer
+ return [nodes.paragraph('', '', *text)]
else:
return None