From 6b18b0761b726fd9aef1ebcc21b760378f7d4b5c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 16 Jun 2014 17:36:12 -0400 Subject: [PATCH] Merge release 1.6.0 --- src/main/java/com/gitblit/wicket/pages/DocPage.java | 46 +++++++++++++++++++++++++++++++--------------- 1 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/DocPage.java b/src/main/java/com/gitblit/wicket/pages/DocPage.java index 2c1308a..c06d806 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocPage.java +++ b/src/main/java/com/gitblit/wicket/pages/DocPage.java @@ -20,17 +20,20 @@ import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.eclipse.jgit.lib.Constants; +import org.apache.wicket.markup.html.link.ExternalLink; +import org.apache.wicket.markup.html.panel.Fragment; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import com.gitblit.GitBlit; +import com.gitblit.servlet.RawServlet; +import com.gitblit.utils.BugtraqProcessor; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.CacheControl; import com.gitblit.wicket.CacheControl.LastModified; import com.gitblit.wicket.MarkupProcessor; import com.gitblit.wicket.MarkupProcessor.MarkupDocument; +import com.gitblit.wicket.MarkupProcessor.MarkupSyntax; import com.gitblit.wicket.WicketUtils; @CacheControl(LastModified.BOOT) @@ -40,11 +43,11 @@ super(params); final String path = WicketUtils.getPath(params).replace("%2f", "/").replace("%2F", "/"); - MarkupProcessor processor = new MarkupProcessor(GitBlit.getSettings()); + MarkupProcessor processor = new MarkupProcessor(app().settings()); Repository r = getRepository(); RevCommit commit = JGitUtils.getCommit(r, objectId); - String [] encodings = GitBlit.getEncodings(); + String [] encodings = getEncodings(); // Read raw markup content and transform it to html String documentPath = path; @@ -54,7 +57,7 @@ if (StringUtils.isEmpty(markupText)) { String name = StringUtils.stripFileExtension(path); - List<String> docExtensions = processor.getMarkupExtensions(); + List<String> docExtensions = processor.getAllExtensions(); for (String ext : docExtensions) { String checkName = name + "." + ext; markupText = JGitUtils.getStringContent(r, commit.getTree(), checkName, encodings); @@ -66,18 +69,31 @@ } } - // document page links - add(new BookmarkablePageLink<Void>("blameLink", BlamePage.class, - WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); - add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, - WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); - add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, WicketUtils.newPathParameter( - repositoryName, objectId, documentPath))); - add(new BookmarkablePageLink<Void>("headLink", DocPage.class, - WicketUtils.newPathParameter(repositoryName, Constants.HEAD, documentPath))); + if (markupText == null) { + markupText = ""; + } + BugtraqProcessor bugtraq = new BugtraqProcessor(app().settings()); + markupText = bugtraq.processText(getRepository(), repositoryName, markupText); + + Fragment fragment; MarkupDocument markupDoc = processor.parse(repositoryName, getBestCommitId(commit), documentPath, markupText); - add(new Label("content", markupDoc.html).setEscapeModelStrings(false)); + if (MarkupSyntax.PLAIN.equals(markupDoc.syntax)) { + fragment = new Fragment("doc", "plainContent", this); + } else { + fragment = new Fragment("doc", "markupContent", this); + } + + // document page links + fragment.add(new BookmarkablePageLink<Void>("blameLink", BlamePage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + fragment.add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, objectId, documentPath); + fragment.add(new ExternalLink("rawLink", rawUrl)); + + fragment.add(new Label("content", markupDoc.html).setEscapeModelStrings(false)); + add(fragment); } @Override -- Gitblit v1.9.1