From c44dd099a432094a12131cf60dfc8a19f5aa8101 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 13 Nov 2013 17:56:50 -0500
Subject: [PATCH] Implement mirror executor (issue-5)
---
src/main/java/com/gitblit/PagesServlet.java | 34 +++++++++++++++++-----------------
1 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/gitblit/PagesServlet.java b/src/main/java/com/gitblit/PagesServlet.java
index fc71bc5..e121f8a 100644
--- a/src/main/java/com/gitblit/PagesServlet.java
+++ b/src/main/java/com/gitblit/PagesServlet.java
@@ -38,12 +38,14 @@
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.MarkupProcessor;
+import com.gitblit.wicket.MarkupProcessor.MarkupDocument;
/**
* Serves the content of a gh-pages branch.
- *
+ *
* @author James Moger
- *
+ *
*/
public class PagesServlet extends HttpServlet {
@@ -57,7 +59,7 @@
/**
* Returns an url to this servlet for the specified parameters.
- *
+ *
* @param baseURL
* @param repository
* @param path
@@ -73,7 +75,7 @@
/**
* Retrieves the specified resource from the gh-pages branch of the
* repository.
- *
+ *
* @param request
* @param response
* @throws javax.servlet.ServletException
@@ -142,21 +144,20 @@
return;
}
+ MarkupProcessor processor = new MarkupProcessor(GitBlit.getSettings());
String [] encodings = GitBlit.getEncodings();
RevTree tree = commit.getTree();
byte[] content = null;
if (StringUtils.isEmpty(resource)) {
// find resource
- List<String> markdownExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
- List<String> extensions = new ArrayList<String>(markdownExtensions.size() + 2);
+ List<String> extensions = new ArrayList<String>(processor.getMarkupExtensions());
extensions.add("html");
extensions.add("htm");
- extensions.addAll(markdownExtensions);
- for (String ext : extensions){
+ for (String ext : extensions) {
String file = "index." + ext;
String stringContent = JGitUtils.getStringContent(r, tree, file, encodings);
- if(stringContent == null){
+ if (stringContent == null) {
continue;
}
content = stringContent.getBytes(Constants.ENCODING);
@@ -213,14 +214,13 @@
return;
}
- // check to see if we should transform markdown files
- for (String ext : GitBlit.getStrings(Keys.web.markdownExtensions)) {
- if (resource.endsWith(ext)) {
- String mkd = new String(content, Constants.ENCODING);
- content = MarkdownUtils.transformMarkdown(mkd).getBytes(Constants.ENCODING);
- response.setContentType("text/html; charset=" + Constants.ENCODING);
- break;
- }
+ // check to see if we should transform markup files
+ String ext = StringUtils.getFileExtension(resource);
+ if (processor.getMarkupExtensions().contains(ext)) {
+ String markup = new String(content, Constants.ENCODING);
+ MarkupDocument markupDoc = processor.parse(repository, commit.getName(), resource, markup);
+ content = markupDoc.html.getBytes("UTF-8");
+ response.setContentType("text/html; charset=" + Constants.ENCODING);
}
try {
--
Gitblit v1.9.1