# HG changeset patch # User Paul Boddie # Date 1555337578 -7200 # Node ID ccd7e45890fb4f48e037c1117a9c027362ce5667 # Parent 37e672f4923f3d045b57741f18c03f17bee00f04 Added support for redirect directives. diff -r 37e672f4923f -r ccd7e45890fb moinformat/serialisers/html/moin.py --- a/moinformat/serialisers/html/moin.py Mon Apr 15 15:13:40 2019 +0200 +++ b/moinformat/serialisers/html/moin.py Mon Apr 15 16:12:58 2019 +0200 @@ -3,7 +3,7 @@ """ HTML serialiser. -Copyright (C) 2017, 2018 Paul Boddie +Copyright (C) 2017, 2018, 2019 Paul Boddie This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -20,7 +20,8 @@ """ from moinformat.serialisers.common import escape_attr, escape_text, Serialiser -from moinformat.tree.moin import LinkLabel, LinkParameter +from moinformat.tree.moin import LinkLabel, LinkParameter, Text +from moinformat.utils.links import parse_link_target class HTMLSerialiser(Serialiser): @@ -247,7 +248,20 @@ pass def directive(self, directive, extra): - pass + name, text = directive.split(None, 1) + + # Produce a readable redirect. + + if name.lower() == "redirect": + self.start_block() + + # Process the redirect argument as a link target, producing a link + # element. + + target = parse_link_target(text, self.metadata) + self._link(target, [LinkLabel([Text(text)])], "a", "href") + + self.end_block() def linebreak(self): self.out("
")