summary refs log tree commit diff
diff options
context:
space:
mode:
authorWormHeamer2025-03-10 15:42:31 -0400
committerWormHeamer2025-03-10 15:42:31 -0400
commitcf867034323b72a1fab1b516cc693667b92d875a (patch)
tree18dc90a697804f2d5d94503e56bd77404bb33367
parent913c7e3bc4a8ba2b9ec46e4cd33286c713968f0b (diff)
figcaption at bottom, print none if no display text
-rw-r--r--main.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/main.c b/main.c
index 267c56f..0d10fc6 100644
--- a/main.c
+++ b/main.c
@@ -164,7 +164,7 @@ LineType line_init(Line *l, Str txt, LineType t) {
 		c = str_cut(str_trim(str_skip(txt, 2)), ' ');
 		c.tail = str_trim(c.tail);
 		l->url = c.head;
-		l->txt = c.tail.n > 0 ? c.tail : c.head;
+		l->txt = c.tail;
 		return has_image_ext(l->url) ? LN_IMG : LN_LINK;
 	case LN_HDR1:
 		l->txt = str_trim(str_skip(txt, 1));
@@ -270,16 +270,17 @@ void str_cat_blk(Str *out, Block *blk, Arena *perm, Arena *scratch) {
 					: str_replace_end(l->url,
 						S(".gmi"), S(".html"),
 						scratch), perm);
-			Ot(">", l->txt, "</a></li>\n");
+			Ot(">", l->txt.n > 0 ? l->txt : l->url, "</a></li>\n");
 		}
 		Os("</ul>");
 		break;
 	case LN_IMG:
 		for (Line *l = blk->lines; l; l = l->next) {
-			Os("<figure>\n");
-			Ot("<figcaption>", l->txt, "</figcaption>\n<img src=");
+			Os("<figure>\n<img src=");
 			str_cat_uri(out, l->url, perm);
-			Os(">\n</figcaption>");
+			Os(">\n");
+			if (l->txt.n > 0) Ot("<figcaption>", l->txt, "</figcaption>\n");
+			Os("</figure>");
 			if (l->next) Os("\n");
 		}
 		break;