Download raw body.
gotwebd: foldable briefs?
On Thu, Dec 07, 2023 at 03:11:51PM +0100, Omar Polo wrote:
> On 2023/12/02 12:05:06 +1100, Mark Jamsek <mark@jamsek.com> wrote:
> > Tracey Emery <tracey@traceyemery.net> wrote:
> > > On Fri, Dec 01, 2023 at 08:55:17PM +0100, Omar Polo wrote:
> > > > 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.)
> > >
> > > I don't mind this. It could be handy. Let's wait for more feedback.
> >
> > Nice, op! I actually like this too.
> >
> > It's super handy to be able to view the full log message for extra
> > context before entering the diff action. This also works with vimium,
> > which is brilliant! I'm less keen on the [...] suffix but we need some
> > mechanism to expand the collapsible and it's far from a deal breaker.
> >
> > The noise in my text browser (w3m) is super minimal; it's actually a
> > nice indication that the message is in effect truncated. And it's less
> > of an eyesore than the [...] in chromium. I noticed that safari also
> > prefixes the collapsed message with a black right-pointing triangle
> > (U+25B6) that changes to a black down-pointing triangle (U+25BC) when
> > the message is expanded, which I prefer to the [...] suffix. It would
> > be good if we could force that everywhere rather than the [...].
> >
> > In either case, this adds value for quite a minimal change so ok for me
>
> after thinking some more on this, here's a slightly different approach.
> Keep the browser arrow icon and drop the custom [...]. my fear was that
> the arrow icon was not enough to discover it (and partially to copy
> codeberg UI that has a [...] button), but it doesn't seem bad:
>
> https://got.omarpolo.com/?action=summary&path=got.git
The arrow is nearly impossible to click on a cell phone. The elipses was
better for that situation. What about moving the arrow to the end of the
line and give it a bit of space from the linked title? I don't know,
maybe that isn't the answer either.
>
> as a bonus, it doesn't add noise to text browsers :)
>
> ok?
>
> diff /home/op/w/got
> commit - 6ecb0b8c6b2aa36b6af31c856909b1ddccdb301c
> path + /home/op/w/got
> blob - 65256f74800294b5cafb9831a20db2e5715f568b
> file + gotwebd/files/htdocs/gotwebd/gotweb.css
> --- gotwebd/files/htdocs/gotwebd/gotweb.css
> +++ gotwebd/files/htdocs/gotwebd/gotweb.css
> @@ -213,6 +213,15 @@ header.subtitle h2 {
> }
> }
>
> +.briefs_log summary {
> + cursor: pointer;
> +}
> +
> +/* 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 - bbcaa81e086ae388fea68770a80f18d48f3b28df
> file + gotwebd/pages.tmpl
> --- gotwebd/pages.tmpl
> +++ gotwebd/pages.tmpl
> @@ -354,7 +354,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,
> @@ -392,9 +392,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'>
> @@ -406,15 +409,29 @@ 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 }}
> + </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?