diff options
| author | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2004-11-02 22:14:24 +0000 |
|---|---|---|
| committer | goodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2004-11-02 22:14:24 +0000 |
| commit | 9e41a6191aee10eedfa1df2d0d10a4700a194e55 (patch) | |
| tree | 0d829fbf578d3ecd1813a8c2207ec7d3cd3c898e /docutils/transforms | |
| parent | b3e9a23e50a601b58933870569c83a8aff859c5e (diff) | |
| download | docutils-9e41a6191aee10eedfa1df2d0d10a4700a194e55.tar.gz | |
Added support for trimming whitespace from beside substitution references.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@2796 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms')
| -rw-r--r-- | docutils/transforms/references.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/docutils/transforms/references.py b/docutils/transforms/references.py index 04b79a1cc..254a0ee07 100644 --- a/docutils/transforms/references.py +++ b/docutils/transforms/references.py @@ -700,7 +700,22 @@ class Substitutions(Transform): msg.add_backref(prbid) ref.parent.replace(ref, prb) else: - ref.parent.replace(ref, defs[key].get_children()) + subdef = defs[key] + parent = ref.parent + index = parent.index(ref) + if (subdef.attributes.has_key('ltrim') + or subdef.attributes.has_key('trim')): + if index > 0 and isinstance(parent[index - 1], + nodes.Text): + parent.replace(parent[index - 1], + parent[index - 1].rstrip()) + if (subdef.attributes.has_key('rtrim') + or subdef.attributes.has_key('trim')): + if (len(parent) > index + 1 + and isinstance(parent[index + 1], nodes.Text)): + parent.replace(parent[index + 1], + parent[index + 1].lstrip()) + parent.replace(ref, subdef.get_children()) self.document.substitution_refs = None # release replaced references |
