about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--cgit.css29
-rw-r--r--cgit.h1
-rw-r--r--ui-commit.c15
-rw-r--r--ui-log.c12
4 files changed, 57 insertions, 0 deletions
diff --git a/cgit.css b/cgit.css
index 6e47eb3..0c88b65 100644
--- a/cgit.css
+++ b/cgit.css
@@ -164,6 +164,17 @@ table.list td.logmsg {
 	padding: 1em 0.5em 2em 0.5em;
 }
 
+table.list td.lognotes-label {
+	text-align:right;
+	vertical-align:top;
+}
+
+table.list td.lognotes {
+	font-family: monospace;
+	white-space: pre;
+	padding: 0em 0.5em 2em 0.5em;
+}
+
 table.list td a {
 	color: black;
 }
@@ -326,6 +337,24 @@ div.commit-msg {
 	font-family: monospace;
 }
 
+div.notes-header {
+	font-weight: bold;
+	padding-top: 1.5em;
+}
+
+div.notes {
+	white-space: pre;
+	font-family: monospace;
+	border: solid 1px #ee9;
+	background-color: #ffd;
+	padding: 0.3em 2em 0.3em 1em;
+	float: left;
+}
+
+div.notes-footer {
+	clear: left;
+}
+
 div.diffstat-header {
 	font-weight: bold;
 	padding-top: 1.5em;
diff --git a/cgit.h b/cgit.h
index e9e2718..32d9d2b 100644
--- a/cgit.h
+++ b/cgit.h
@@ -19,6 +19,7 @@
 #include <xdiff-interface.h>
 #include <xdiff/xdiff.h>
 #include <utf8.h>
+#include <notes.h>
 
 
 /*
diff --git a/ui-commit.c b/ui-commit.c
index a11bc5f..45af450 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -17,6 +17,7 @@ void cgit_print_commit(char *hex, const char *prefix)
 	struct commit *commit, *parent;
 	struct commitinfo *info, *parent_info;
 	struct commit_list *p;
+	struct strbuf notes = STRBUF_INIT;
 	unsigned char sha1[20];
 	char *tmp, *tmp2;
 	int parents = 0;
@@ -35,6 +36,8 @@ void cgit_print_commit(char *hex, const char *prefix)
 	}
 	info = cgit_parse_commit(commit);
 
+	get_commit_notes(commit, &notes, PAGE_ENCODING, 0);
+
 	load_ref_decorations(DECORATE_FULL_REFS);
 
 	html("<table summary='commit info' class='commit-info'>\n");
@@ -120,6 +123,17 @@ void cgit_print_commit(char *hex, const char *prefix)
 	if (ctx.repo->commit_filter)
 		cgit_close_filter(ctx.repo->commit_filter);
 	html("</div>");
+	if (notes.len != 0) {
+		html("<div class='notes-header'>Notes</div>");
+		html("<div class='notes'>");
+		if (ctx.repo->commit_filter)
+			cgit_open_filter(ctx.repo->commit_filter);
+		html_txt(notes.buf);
+		if (ctx.repo->commit_filter)
+			cgit_close_filter(ctx.repo->commit_filter);
+		html("</div>");
+		html("<div class='notes-footer'></div>");
+	}
 	if (parents < 3) {
 		if (parents)
 			tmp = sha1_to_hex(commit->parents->item->object.sha1);
@@ -127,5 +141,6 @@ void cgit_print_commit(char *hex, const char *prefix)
 			tmp = NULL;
 		cgit_print_diff(ctx.qry.sha1, tmp, prefix);
 	}
+	strbuf_release(&notes);
 	cgit_free_commitinfo(info);
 }
diff --git a/ui-log.c b/ui-log.c
index ee93653..7f38d2a 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -111,6 +111,9 @@ void print_commit(struct commit *commit)
 	}
 	html("</td></tr>\n");
 	if (ctx.qry.showmsg) {
+		struct strbuf notes = STRBUF_INIT;
+		get_commit_notes(commit, &notes, PAGE_ENCODING, 0);
+
 		if (ctx.repo->enable_log_filecount) {
 			cols++;
 			if (ctx.repo->enable_log_linecount)
@@ -120,6 +123,15 @@ void print_commit(struct commit *commit)
 			cols);
 		html_txt(info->msg);
 		html("</td></tr>\n");
+		if (notes.len != 0) {
+			html("<tr class='nohover'>");
+			html("<td class='lognotes-label'>Notes:</td>");
+			htmlf("<td colspan='%d' class='lognotes'>",
+				cols);
+			html_txt(notes.buf);
+			html("</td></tr>\n");
+		}
+		strbuf_release(&notes);
 	}
 	cgit_free_commitinfo(info);
 }