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); }