all repos — cgit @ 9d8d9b61238df3a855504825e5f735d00289f12b

a hyperfast web frontend for git written in c

Only show first 80 characters of commit subject in log and summary

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Lars Hjemli hjemli@gmail.com
Fri, 22 Dec 2006 00:58:18 +0100
commit

9d8d9b61238df3a855504825e5f735d00289f12b

parent

378cae639849ba9f020666d1cf6dad6e08bfaf0e

5 files changed, 34 insertions(+), 5 deletions(-)

jump to
M cgit.csscgit.css

@@ -100,7 +100,7 @@ font-size: 100%;

background-color: white; } -table.log td { +table.nowrap td { white-space: nowrap; }
M cgit.hcgit.h

@@ -73,6 +73,7 @@

extern void html(const char *txt); extern void htmlf(const char *format,...); extern void html_txt(char *txt); +extern void html_ntxt(int len, char *txt); extern void html_attr(char *txt); extern void html_link_open(char *url, char *title, char *class); extern void html_link_close(void);
M html.chtml.c

@@ -65,6 +65,34 @@ if (t!=txt)

html(txt); } +void html_ntxt(int len, char *txt) +{ + char *t = txt; + while(*t && len--){ + int c = *t; + if (c=='<' || c=='>' || c=='&') { + *t = '\0'; + html(txt); + *t = c; + if (c=='>') + html("&gt;"); + else if (c=='<') + html("&lt;"); + else if (c=='&') + html("&amp;"); + txt = t+1; + } + t++; + } + if (t!=txt) { + char c = *t; + *t = '\0'; + html(txt); + *t = c; + } + if (len<0) + html("..."); +} void html_attr(char *txt) {
M ui-log.cui-log.c

@@ -23,7 +23,7 @@ html("</td><td>");

char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1)); char *url = cgit_pageurl(cgit_query_repo, "commit", qry); html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); html("</td><td>"); html_txt(info->author);

@@ -48,7 +48,7 @@ setup_revisions(2, argv, &rev, NULL);

prepare_revision_walk(&rev); html("<h2>Log</h2>"); - html("<table class='list log'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Date</th>" "<th class='left'>Message</th>" "<th class='left'>Author</th></tr>\n");
M ui-summary.cui-summary.c

@@ -31,7 +31,7 @@ html("</td><td>");

url = cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(sha1))); html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); html("</td><td>"); html_txt(info->author);

@@ -49,7 +49,7 @@ }

static void cgit_print_branches() { - html("<table class='list'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Branch</th>" "<th class='left'>Updated</th>" "<th class='left'>Commit subject</th>"