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?