Download raw body.
gotwebd: foldable briefs?
I'm a bit unsure about this. It's nice since it makes the full commit message accessible in the briefs pages, and doesn't depend on javascript (just a plain <details> tag.) Most (all?) text browsers however don't understand it and so this diffs adds some "noise" (the three dots) to the briefs page. I have this too on my instance: <https://got.omarpolo.com/?action=summary&path=got.git> (the aria-hidden attribute is just to make screen reader & co ignoring the three dots that are only decorative.) diff /home/op/w/got commit - 227f81a40643e9c82bb019336421e17e914d015a path + /home/op/w/got blob - c6f473ced0d7b7454f210dfaa119b63cd96d2ba4 file + gotwebd/files/htdocs/gotwebd/gotweb.css --- gotwebd/files/htdocs/gotwebd/gotweb.css +++ gotwebd/files/htdocs/gotwebd/gotweb.css @@ -213,6 +213,24 @@ header.subtitle h2 { } } +.briefs_log summary { + display: inline; + cursor: pointer; +} + +.briefs_toggle { + display: inline-block; + padding: 3px 4px; + border: 1px solid #222; + border-radius: 3px; + user-select: none; +} + +/* work around .commits being unusable here */ +.briefs_log > p { + white-space: pre-wrap; +} + .tag_age, .tag_name, .tag_log { display: inline-block; vertical-align: middle; blob - 9e76331c9d3706b7909ec6ab013b194bc66801cc file + gotwebd/pages.tmpl --- gotwebd/pages.tmpl +++ gotwebd/pages.tmpl @@ -347,7 +347,7 @@ nextsep(char *s, char **t) struct repo_commit *rc; struct repo_dir *repo_dir = t->repo_dir; struct gotweb_url diff_url, patch_url, tree_url; - char *tmp; + char *tmp, *body; diff_url = (struct gotweb_url){ .action = DIFF, @@ -385,9 +385,12 @@ nextsep(char *s, char **t) if (tmp) *tmp = '\0'; - tmp = strchr(rc->commit_msg, '\n'); - if (tmp) - *tmp = '\0'; + body = strchr(rc->commit_msg, '\n'); + if (body) { + *body++ = '\0'; + while (*body == '\n') + body++; + } !} <div class='brief'> <p class='brief_meta'> @@ -399,15 +402,33 @@ nextsep(char *s, char **t) {{ rc->committer }} </span> </p> - <p class="briefs_log"> - <a href="{{ render gotweb_render_url(tp->tp_arg, &diff_url) }}"> - {{ rc->commit_msg }} - </a> - {{ if rc->refs_str }} - {{ " " }} <span class="refs_str">({{ rc->refs_str }})</span> - {{ end }} - </a> - </p> + {{ if body && *body != '\0' }} + <details class="briefs_log"> + <summary> + <a href="{{ render gotweb_render_url(tp->tp_arg, &diff_url) }}"> + {{ rc->commit_msg }} + </a> + {{ if rc->refs_str }} + {{ " " }} <span class="refs_str">({{ rc->refs_str }})</span> + {{ end }} + {{ " " }} + <span class="briefs_toggle" aria-hidden="true"> + {{ " ⋅⋅⋅ " }} + </span> + </summary> + {{ "\n" }} + <p>{{ body }}</p> + </details> + {{ else }} + <p class="briefs_log"> + <a href="{{ render gotweb_render_url(tp->tp_arg, &diff_url) }}"> + {{ rc->commit_msg }} + </a> + {{ if rc->refs_str }} + {{ " " }} <span class="refs_str">({{ rc->refs_str }})</span> + {{ end }} + </p> + {{ end }} </div> <div class="navs_wrapper"> <div class="navs">
gotwebd: foldable briefs?