From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Jan 2012 17:34:05 -0500
Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders

---
 src/com/gitblit/wicket/pages/MarkdownPage.java |   53 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/MarkdownPage.java b/src/com/gitblit/wicket/pages/MarkdownPage.java
index 83083ab..aaf12ba 100644
--- a/src/com/gitblit/wicket/pages/MarkdownPage.java
+++ b/src/com/gitblit/wicket/pages/MarkdownPage.java
@@ -1,7 +1,21 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.gitblit.wicket.pages;
 
-import java.io.StringReader;
-import java.io.StringWriter;
+import java.text.ParseException;
 
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.markup.html.basic.Label;
@@ -9,18 +23,12 @@
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.tautua.markdownpapers.Markdown;
-import org.tautua.markdownpapers.parser.ParseException;
 
 import com.gitblit.utils.JGitUtils;
-import com.gitblit.wicket.RepositoryPage;
+import com.gitblit.utils.MarkdownUtils;
 import com.gitblit.wicket.WicketUtils;
 
 public class MarkdownPage extends RepositoryPage {
-	
-	private final Logger logger = LoggerFactory.getLogger(MarkdownPage.class);
 
 	public MarkdownPage(PageParameters params) {
 		super(params);
@@ -31,24 +39,25 @@
 		RevCommit commit = JGitUtils.getCommit(r, objectId);
 
 		// markdown page links
-		add(new Label("blameLink", getString("gb.blame")));
-		add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, WicketUtils.newPathParameter(repositoryName, objectId, markdownPath)));
-		add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, WicketUtils.newPathParameter(repositoryName, objectId, markdownPath)));
-		add(new BookmarkablePageLink<Void>("headLink", MarkdownPage.class, WicketUtils.newPathParameter(repositoryName, Constants.HEAD, markdownPath)));
+		add(new BookmarkablePageLink<Void>("blameLink", BlamePage.class,
+				WicketUtils.newPathParameter(repositoryName, objectId, markdownPath)));
+		add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class,
+				WicketUtils.newPathParameter(repositoryName, objectId, markdownPath)));
+		add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, WicketUtils.newPathParameter(
+				repositoryName, objectId, markdownPath)));
+		add(new BookmarkablePageLink<Void>("headLink", MarkdownPage.class,
+				WicketUtils.newPathParameter(repositoryName, Constants.HEAD, markdownPath)));
 
 		// Read raw markdown content and transform it to html
-		String htmlText = "";
+		String markdownText = JGitUtils.getStringContent(r, commit.getTree(), markdownPath);
+		String htmlText;
 		try {
-			String rawText = JGitUtils.getRawContentAsString(r, commit, markdownPath);
-			StringReader reader = new StringReader(rawText);
-			StringWriter writer = new StringWriter();
-			Markdown md = new Markdown();
-			md.transform(reader, writer);
-			htmlText = writer.toString();
+			htmlText = MarkdownUtils.transformMarkdown(markdownText);
 		} catch (ParseException p) {
-			logger.error("Failed to parse markdown text from " + markdownPath, p);
+			error(p.getMessage());
+			htmlText = markdownText;
 		}
-		
+
 		// Add the html to the page
 		add(new Label("markdownText", htmlText).setEscapeModelStrings(false));
 	}

--
Gitblit v1.9.1