]> granicus.if.org Git - cgit/commitdiff
Only show first 80 characters of commit subject in log and summary
authorLars Hjemli <hjemli@gmail.com>
Thu, 21 Dec 2006 23:58:18 +0000 (00:58 +0100)
committerLars Hjemli <hjemli@gmail.com>
Thu, 21 Dec 2006 23:58:18 +0000 (00:58 +0100)
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
cgit.css
cgit.h
html.c
ui-log.c
ui-summary.c

index 7b8e468f179c0d616ea0ec20a57a9339b44c1505..85815c1afda284b8e0bf4e88e3d0ba48ba5f5c4b 100644 (file)
--- a/cgit.css
+++ b/cgit.css
@@ -100,7 +100,7 @@ td.blob {
        background-color: white;
 }
 
-table.log td {
+table.nowrap td {
        white-space: nowrap;
 }
 
diff --git a/cgit.h b/cgit.h
index bba2d6c506373ba3ed3c5cdacac34a3d5b076968..362b43514a40f1befbcf781159ed1d02ddec032c 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -73,6 +73,7 @@ extern char *fmt(const char *format,...);
 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);
diff --git a/html.c b/html.c
index 8a6965970ae903dd434e490cfabbad27f39f900b..957b3268be1a49a5a1d336d3412a4e71d4ca5959 100644 (file)
--- a/html.c
+++ b/html.c
@@ -65,6 +65,34 @@ void html_txt(char *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)
 {
index def96f6d44f49b0806eaee2f86dd9a47d24bdbf8..f3b16e71e3a764ffc9a8c6e0485baa209b79d82d 100644 (file)
--- a/ui-log.c
+++ b/ui-log.c
@@ -23,7 +23,7 @@ void print_commit(struct commit *commit)
        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 @@ void cgit_print_log(const char *tip, int ofs, int cnt)
        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");
index 638c8f6c5ca740d7f2bc6b7d6043cfcc81b5d80a..de95053a6a1d415b4245926c22e06e60a634bfc5 100644 (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", 
                                   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 int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
 
 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>"