diff options
Diffstat (limited to 'docutils/writers/html4css1/__init__.py')
| -rw-r--r-- | docutils/writers/html4css1/__init__.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/docutils/writers/html4css1/__init__.py b/docutils/writers/html4css1/__init__.py index 02833d66a..50269f327 100644 --- a/docutils/writers/html4css1/__init__.py +++ b/docutils/writers/html4css1/__init__.py @@ -407,6 +407,16 @@ class HTMLTranslator(nodes.NodeVisitor): encoded = self.encode(text) if self.in_mailto and self.settings.cloak_email_addresses: encoded = self.cloak_email(encoded) + preserve_space = 0 + parent = node.parent + while parent: + if parent.get('xml:space') == 'preserve': + preserve_space = 1 + break + parent = parent.parent + if preserve_space: + encoded = encoded.replace('\n', '<br />') + encoded = encoded.replace(' ', ' ') self.body.append(encoded) def depart_Text(self, node): @@ -428,10 +438,8 @@ class HTMLTranslator(nodes.NodeVisitor): def visit_address(self, node): self.visit_docinfo_item(node, 'address', meta=None) - self.body.append(self.starttag(node, 'pre', CLASS='address')) def depart_address(self, node): - self.body.append('\n</pre>\n') self.depart_docinfo_item() def visit_admonition(self, node, name=''): |
