6 :Contact: docutils-develop@lists.sourceforge.net
9 :Copyright: This document has been placed in the public domain.
14 Transforms change the document tree in-place, add to the tree, or prune it.
15 Transforms resolve references and footnote numbers, process interpreted
16 text, and do other context-sensitive processing. Each transform is a
17 subclass of ``docutils.tranforms.Transform``.
19 There are `transforms added by components`_, others (e.g.
20 ``parts.Contents``) are added by the parser, if a corresponding directive is
21 found in the document.
23 To add a transform, components (objects inheriting from
24 Docutils.Component like Readers, Parsers, Writers, Input, Output) overwrite
25 the ``get_transforms()`` method of their base class. After the Reader has
26 finished processing, the Publisher calls
27 ``Transformer.populate_from_components()`` with a list of components and all
28 transforms returned by the component's ``get_transforms()`` method are
29 stored in a `transformer object` attached to the document tree.
32 For more about transforms and the Transformer object, see also `PEP
33 258`_. (The ``default_transforms()`` attribute of component classes mentioned
34 there is deprecated. Use the ``get_transforms()`` method instead.)
36 .. _PEP 258: ../peps/pep-0258.html#transformer
39 Transforms Listed in Priority Order
40 ===================================
42 Transform classes each have a default_priority attribute which is used by
43 the Transformer to apply transforms in order (low to high). The default
44 priority can be overridden when adding transforms to the Transformer object.
47 ============================== ============================ ========
48 Transform: module.Class Added By Priority
49 ============================== ============================ ========
50 misc.class "class" (d/p) 210
52 references.Substitutions standalone (r), pep (r) 220
54 references.PropagateTargets standalone (r), pep (r) 260
56 frontmatter.DocTitle standalone (r) 320
58 frontmatter.DocInfo standalone (r) 340
60 frontmatter.SectSubTitle standalone (r) 350
62 peps.Headers pep (r) 360
64 peps.Contents pep (r) 380
66 universal.StripClasses... Writer (w) 420
68 references.AnonymousHyperlinks standalone (r), pep (r) 440
70 references.IndirectHyperlinks standalone (r), pep (r) 460
72 peps.TargetNotes pep (r) 520
74 references.TargetNotes peps.TargetNotes (t/p) 0
76 misc.CallBack peps.TargetNotes (t/p) 1
78 references.TargetNotes "target-notes" (d/p) 540
80 references.Footnotes standalone (r), pep (r) 620
82 references.ExternalTargets standalone (r), pep (r) 640
84 references.InternalTargets standalone (r), pep (r) 660
86 parts.SectNum "sectnum" (d/p) 710
88 parts.Contents "contents" (d/p), 720
91 universal.StripComments Reader (r) 740
93 peps.PEPZero peps.Headers (t/p) 760
95 components.Filter "meta" (d/p) 780
97 universal.Decorations Reader (r) 820
99 misc.Transitions standalone (r), pep (r) 830
101 universal.ExposeInternals Reader (r) 840
103 references.DanglingReferences standalone (r), pep (r) 850
105 universal.Messages Writer (w) 860
107 universal.FilterMessages Writer (w) 870
109 universal.SmartQuotes Parser 850
111 universal.TestMessages DocutilsTestSupport 880
113 writer_aux.Compound newlatex2e (w) 910
115 writer_aux.Admonitions html4css1 (w), 920
118 misc.CallBack n/a 990
119 ============================== ============================ ========
127 * (/p): Via a "pending" node
130 Transform Priority Range Categories
131 ===================================
133 ==== ==== ================================================
135 ---------- ------------------------------------------------
137 ==== ==== ================================================
138 0 99 immediate execution (added by another transform)
139 100 199 very early (non-standard)
145 900 999 very late (non-standard)
146 ==== ==== ================================================
149 Transforms added by components
150 ===============================
154 | universal.Decorations,
155 | universal.ExposeInternals,
156 | universal.StripComments
161 readers.standalone.Reader:
162 | references.Substitutions,
163 | references.PropagateTargets,
164 | frontmatter.DocTitle,
165 | frontmatter.SectionSubTitle,
166 | frontmatter.DocInfo,
167 | references.AnonymousHyperlinks,
168 | references.IndirectHyperlinks,
169 | references.Footnotes,
170 | references.ExternalTargets,
171 | references.InternalTargets,
172 | references.DanglingReferences,
176 | references.Substitutions,
177 | references.PropagateTargets,
178 | references.AnonymousHyperlinks,
179 | references.IndirectHyperlinks,
180 | references.Footnotes,
181 | references.ExternalTargets,
182 | references.InternalTargets,
183 | references.DanglingReferences,
190 universal.SmartQuotes
193 | universal.Messages,
194 | universal.FilterMessages,
195 | universal.StripClassesAndElements
197 writers.UnfilteredWriter
200 writers.latex2e.Writer
201 writer_aux.Admonitions
203 writers.html4css1.Writer:
204 writer_aux.Admonitions
206 writers.odf_odt.Writer:
207 removes references.DanglingReferences