stagit

static git repository generator

git clone https://9o.is/git/stagit.git

commit 3787cb0ead2015aa9e2f4976554f4e91f3935ea5
parent 8c90c05c0ac54521ff8719c14ef8c01996a9b1a2
Author: Jul <jul@9o.is>
Date:   Thu, 15 Jan 2026 03:40:26 -0500

add main header

Diffstat:
Mstagit-index.c | 8++++----
Mstagit.c | 30+++++++++++++++---------------
2 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/stagit-index.c b/stagit-index.c @@ -108,10 +108,10 @@ writeheader(FILE *fp) fputs("<li><a href=\"/\">Blog</a></li>\n", fp); fputs("<li><a href=\"/git\">Git</a></li>\n", fp); fputs("</ul></div></nav>\n", fp); - fputs("<table>\n<tr><td><span class=\"desc\">\n", fp); + fputs("<main>\n", fp); + fputs("<header class=\"main\"><h1>\n", fp); xmlencode(fp, description, strlen(description)); - fputs("</span></td></tr><tr><td></td><td>\n" - "</td></tr>\n</table>\n<hr/>\n<div id=\"content\">\n" + fputs("</h1></header>\n" "<table id=\"index\"><thead>\n" "<tr><td><b>Name</b></td><td><b>Description</b></td>" "<td><b>Last commit</b></td></tr>" @@ -121,7 +121,7 @@ writeheader(FILE *fp) void writefooter(FILE *fp) { - fputs("</tbody>\n</table>\n</div>\n</body>\n</html>\n", fp); + fputs("</tbody>\n</table>\n</main>\n</body>\n</html>\n", fp); } int diff --git a/stagit.c b/stagit.c @@ -525,39 +525,39 @@ writeheader(FILE *fp, const char *title) fputs("<li><a href=\"/\">Blog</a></li>\n", fp); fputs("<li><a href=\"/git\">Git</a></li>\n", fp); fputs("</ul></div></nav>\n", fp); - fputs("<table><tr>", fp); - fputs("<td><h1>", fp); + fputs("<main>\n", fp); + fputs("<header class=\"main\">\n<h1>", fp); xmlencode(fp, strippedname, strlen(strippedname)); - fputs("</h1><span class=\"desc\">", fp); + fputs("</h1><p>", fp); xmlencode(fp, description, strlen(description)); - fputs("</span></td></tr>", fp); + fputs("</p>", fp); if (cloneurl[0]) { - fputs("<tr class=\"url\"><td></td><td>git clone <a href=\"", fp); + fputs("<p>git clone <a href=\"", fp); xmlencode(fp, cloneurl, strlen(cloneurl)); /* not percent-encoded */ fputs("\">", fp); xmlencode(fp, cloneurl, strlen(cloneurl)); - fputs("</a></td></tr>", fp); + fputs("</a></p>", fp); } - fputs("<tr><td>\n", fp); - fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath); - fprintf(fp, "<a href=\"%sfiles.html\">Files</a> | ", relpath); - fprintf(fp, "<a href=\"%srefs.html\">Refs</a>", relpath); + fputs("<nav aria-label=\"Repository\"><ul>\n", fp); + fprintf(fp, "<li><a href=\"%slog.html\">Log</a></li>", relpath); + fprintf(fp, "<li><a href=\"%sfiles.html\">Files</a></li>", relpath); + fprintf(fp, "<li><a href=\"%srefs.html\">Refs</a></li>", relpath); if (submodules) - fprintf(fp, " | <a href=\"%sfile/%s.html\">Submodules</a>", + fprintf(fp, "<li><a href=\"%sfile/%s.html\">Submodules</a></li>", relpath, submodules); if (readme) - fprintf(fp, " | <a href=\"%sfile/%s.html\">README</a>", + fprintf(fp, "<li><a href=\"%sfile/%s.html\">README</a></li>", relpath, readme); if (license) - fprintf(fp, " | <a href=\"%sfile/%s.html\">LICENSE</a>", + fprintf(fp, "<li><a href=\"%sfile/%s.html\">LICENSE</a></li>", relpath, license); - fputs("</td></tr></table>\n<hr/>\n<div id=\"content\">\n", fp); + fputs("</ul></nav>\n</header>\n\n", fp); } void writefooter(FILE *fp) { - fputs("</div>\n</body>\n</html>\n", fp); + fputs("</main>\n</body>\n</html>\n", fp); } size_t