diff --git a/zet.dpi.c b/zet.dpi.c
index fd139b5..e18e65f 100644
--- a/zet.dpi.c
+++ b/zet.dpi.c
@@ -142,10 +142,9 @@ static int write_topbar(int fd, enum page page, const char *id, const char *titl
rc |= write_buf(fd, ">");
if (page == PAGE_ZET) {
- rc |= dprintf(fd, " "
- "[§%s
](", id, id);
+ rc |= dprintf(fd, " [", id);
rc |= write_html(fd, title, strlen(title));
- rc |= write_buf(fd, ")");
+ rc |= dprintf(fd, "](§%s
)", id);
}
rc |= write_buf(fd, "");
@@ -498,9 +497,6 @@ md_rndr_link(struct buf *ob, const struct buf *link, const struct buf *title, co
BUFPUTSL(ob, "size > sigil_size) {
- if (!strncmp((char *)link->data, "§", sigil_size))
- houdini_escape_href(ob, link->data + sigil_size,
- link->size - sigil_size);
if (link->data[0] == '#') {
BUFPUTSL(ob, ssb_channel_base);
houdini_escape_href(ob, link->data + 1, link->size - 1);
@@ -508,6 +504,9 @@ md_rndr_link(struct buf *ob, const struct buf *link, const struct buf *title, co
|| link->data[0] == '&' || link->data[0] == '%') {
BUFPUTSL(ob, ssb_ref_base);
houdini_escape_href(ob, link->data, link->size);
+ } else if (!strncmp((char *)link->data, "§", sigil_size)) {
+ houdini_escape_href(ob, link->data + sigil_size,
+ link->size - sigil_size);
} else
houdini_escape_href(ob, link->data, link->size);
}