From cd9461c0c05958444d1313b794be57df39d98956 Mon Sep 17 00:00:00 2001 From: "Bret K. Ikehara" Date: Sun, 4 Aug 2013 13:43:25 -1000 Subject: Add support for rendering Markdown commit messages (issue-203) --- .../java/com/gitblit/wicket/pages/CommitDiffPage.html | 2 +- .../java/com/gitblit/wicket/pages/CommitDiffPage.java | 2 +- src/main/java/com/gitblit/wicket/pages/CommitPage.html | 2 +- src/main/java/com/gitblit/wicket/pages/CommitPage.java | 6 +++--- .../com/gitblit/wicket/pages/EditRepositoryPage.html | 15 ++++++++------- .../com/gitblit/wicket/pages/EditRepositoryPage.java | 6 +++++- .../java/com/gitblit/wicket/pages/RepositoryPage.java | 17 +++++++++++------ src/main/java/com/gitblit/wicket/pages/TagPage.html | 2 +- src/main/java/com/gitblit/wicket/pages/TagPage.java | 2 +- 9 files changed, 32 insertions(+), 22 deletions(-) (limited to 'src/main/java/com/gitblit/wicket/pages') diff --git a/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.html b/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.html index 11a0ce3e..7437d2ed 100644 --- a/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.html +++ b/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.html @@ -16,7 +16,7 @@
[commit header]
-
[commit message]
+
[commit message]
diff --git a/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java b/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java index 6f1b4598..0a41b67b 100644 --- a/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java +++ b/src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java @@ -79,7 +79,7 @@ public class CommitDiffPage extends RepositoryPage { add(new CommitHeaderPanel("commitHeader", repositoryName, commit)); - addFullText("fullMessage", commit.getFullMessage(), true); + addFullText("fullMessage", commit.getFullMessage()); // changed paths list List paths = JGitUtils.getFilesInCommit(r, commit); diff --git a/src/main/java/com/gitblit/wicket/pages/CommitPage.html b/src/main/java/com/gitblit/wicket/pages/CommitPage.html index ab5ddcaa..1ec541c6 100644 --- a/src/main/java/com/gitblit/wicket/pages/CommitPage.html +++ b/src/main/java/com/gitblit/wicket/pages/CommitPage.html @@ -49,7 +49,7 @@ -
[commit message]
+
[commit message]
diff --git a/src/main/java/com/gitblit/wicket/pages/CommitPage.java b/src/main/java/com/gitblit/wicket/pages/CommitPage.java index 1d11d443..1a1d5987 100644 --- a/src/main/java/com/gitblit/wicket/pages/CommitPage.java +++ b/src/main/java/com/gitblit/wicket/pages/CommitPage.java @@ -117,7 +117,7 @@ public class CommitPage extends RepositoryPage { }; add(parentsView); - addFullText("fullMessage", c.getFullMessage(), true); + addFullText("fullMessage", c.getFullMessage()); // git notes List notes = JGitUtils.getNotesOnCommit(r, c); @@ -133,8 +133,8 @@ public class CommitPage extends RepositoryPage { item.add(new GravatarImage("noteAuthorAvatar", entry.notesRef.getAuthorIdent())); item.add(WicketUtils.createTimestampLabel("authorDate", entry.notesRef .getAuthorIdent().getWhen(), getTimeZone(), getTimeUtils())); - item.add(new Label("noteContent", GitBlit.self().processCommitMessage( - repositoryName, entry.content)).setEscapeModelStrings(false)); + item.add(new Label("noteContent", GitBlit.self().processPlainCommitMessage(repositoryName, + entry.content)).setEscapeModelStrings(false)); } }; add(notesView.setVisible(notes.size() > 0)); diff --git a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.html b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.html index 38070273..f7d1f733 100644 --- a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.html +++ b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.html @@ -42,8 +42,9 @@ + - +

@@ -52,15 +53,15 @@
- + - + - - - + + + @@ -73,7 +74,7 @@





- +
diff --git a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java index 4c471a1e..a25797ff 100644 --- a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java @@ -52,6 +52,7 @@ import org.apache.wicket.model.util.ListModel; import com.gitblit.Constants; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.Constants.AuthorizationControl; +import com.gitblit.Constants.CommitMessageRenderer; import com.gitblit.Constants.FederationStrategy; import com.gitblit.Constants.RegistrantType; import com.gitblit.GitBlit; @@ -552,6 +553,10 @@ public class EditRepositoryPage extends RootSubPage { } }); + List renderers = Arrays.asList(CommitMessageRenderer.values()); + DropDownChoice messageRendererChoice = new DropDownChoice("commitMessageRenderer", renderers); + form.add(messageRendererChoice); + form.add(new Button("save")); Button cancel = new Button("cancel") { private static final long serialVersionUID = 1L; @@ -721,5 +726,4 @@ public class EditRepositoryPage extends RootSubPage { return Integer.toString(index); } } - } diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java index afbed86f..e5ce22a1 100644 --- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java @@ -482,12 +482,17 @@ public abstract class RepositoryPage extends RootPage { add(new RefsPanel("refsPanel", repositoryName, c, JGitUtils.getAllRefs(r, getRepositoryModel().showRemoteBranches))); } - protected void addFullText(String wicketId, String text, boolean substituteRegex) { - String html = StringUtils.escapeForHtml(text, false); - if (substituteRegex) { - html = GitBlit.self().processCommitMessage(repositoryName, html); - } else { - html = StringUtils.breakLinesForHtml(html); + protected void addFullText(String wicketId, String text) { + RepositoryModel model = getRepositoryModel(); + String content = GitBlit.self().processCommitMessage(model, text); + String html; + switch (model.commitMessageRenderer) { + case MARKDOWN: + html = MessageFormat.format("
{0}
", content); + break; + default: + html = MessageFormat.format("
{0}
", content); + break; } add(new Label(wicketId, html).setEscapeModelStrings(false)); } diff --git a/src/main/java/com/gitblit/wicket/pages/TagPage.html b/src/main/java/com/gitblit/wicket/pages/TagPage.html index e719a392..492ece3a 100644 --- a/src/main/java/com/gitblit/wicket/pages/TagPage.html +++ b/src/main/java/com/gitblit/wicket/pages/TagPage.html @@ -22,7 +22,7 @@
-
[commit message]
+
[commit message]
diff --git a/src/main/java/com/gitblit/wicket/pages/TagPage.java b/src/main/java/com/gitblit/wicket/pages/TagPage.java index 13c10111..b8b6eef0 100644 --- a/src/main/java/com/gitblit/wicket/pages/TagPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TagPage.java @@ -92,7 +92,7 @@ public class TagPage extends RepositoryPage { } add(WicketUtils.createTimestampLabel("tagDate", when, getTimeZone(), getTimeUtils())); - addFullText("fullMessage", tagRef.getFullMessage(), true); + addFullText("fullMessage", tagRef.getFullMessage()); } @Override -- cgit v1.2.3