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

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2006-12-22 00:58:18 +01:00
parent 378cae6398
commit 9d8d9b6123
5 changed files with 34 additions and 5 deletions

View File

@ -100,7 +100,7 @@ td.blob {
background-color: white; background-color: white;
} }
table.log td { table.nowrap td {
white-space: nowrap; white-space: nowrap;
} }

1
cgit.h
View File

@ -73,6 +73,7 @@ extern char *fmt(const char *format,...);
extern void html(const char *txt); extern void html(const char *txt);
extern void htmlf(const char *format,...); extern void htmlf(const char *format,...);
extern void html_txt(char *txt); extern void html_txt(char *txt);
extern void html_ntxt(int len, char *txt);
extern void html_attr(char *txt); extern void html_attr(char *txt);
extern void html_link_open(char *url, char *title, char *class); extern void html_link_open(char *url, char *title, char *class);
extern void html_link_close(void); extern void html_link_close(void);

28
html.c
View File

@ -65,6 +65,34 @@ void html_txt(char *txt)
html(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) void html_attr(char *txt)
{ {

View File

@ -23,7 +23,7 @@ void print_commit(struct commit *commit)
char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1)); char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1));
char *url = cgit_pageurl(cgit_query_repo, "commit", qry); char *url = cgit_pageurl(cgit_query_repo, "commit", qry);
html_link_open(url, NULL, NULL); html_link_open(url, NULL, NULL);
html_txt(info->subject); html_ntxt(80, info->subject);
html_link_close(); html_link_close();
html("</td><td>"); html("</td><td>");
html_txt(info->author); html_txt(info->author);
@ -48,7 +48,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt)
prepare_revision_walk(&rev); prepare_revision_walk(&rev);
html("<h2>Log</h2>"); html("<h2>Log</h2>");
html("<table class='list log'>"); html("<table class='list nowrap'>");
html("<tr><th class='left'>Date</th>" html("<tr><th class='left'>Date</th>"
"<th class='left'>Message</th>" "<th class='left'>Message</th>"
"<th class='left'>Author</th></tr>\n"); "<th class='left'>Author</th></tr>\n");

View File

@ -31,7 +31,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
url = cgit_pageurl(cgit_query_repo, "commit", url = cgit_pageurl(cgit_query_repo, "commit",
fmt("id=%s", sha1_to_hex(sha1))); fmt("id=%s", sha1_to_hex(sha1)));
html_link_open(url, NULL, NULL); html_link_open(url, NULL, NULL);
html_txt(info->subject); html_ntxt(80, info->subject);
html_link_close(); html_link_close();
html("</td><td>"); html("</td><td>");
html_txt(info->author); html_txt(info->author);
@ -49,7 +49,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
static void cgit_print_branches() static void cgit_print_branches()
{ {
html("<table class='list'>"); html("<table class='list nowrap'>");
html("<tr><th class='left'>Branch</th>" html("<tr><th class='left'>Branch</th>"
"<th class='left'>Updated</th>" "<th class='left'>Updated</th>"
"<th class='left'>Commit subject</th>" "<th class='left'>Commit subject</th>"