From 9de1a56ac4a888289cd758d033cb02ece2bbca76 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gmail.com>
Date: Wed, 13 Nov 2013 20:16:59 -0500
Subject: [PATCH] Tweak pull request ref display
---
src/main/java/com/gitblit/PagesServlet.java | 38 ++++++++++++++++++++------------------
1 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/gitblit/PagesServlet.java b/src/main/java/com/gitblit/PagesServlet.java
index 1e2d311..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
@@ -141,22 +143,21 @@
r.close();
return;
}
- response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
+ 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() + 1);
+ List<String> extensions = new ArrayList<String>(processor.getMarkupExtensions());
extensions.add("html");
- extensions.addAll(markdownExtensions);
- for (String ext : extensions){
+ extensions.add("htm");
+ 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,18 +214,19 @@
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 {
// output the content
+ response.setHeader("Cache-Control", "public, max-age=3600, must-revalidate");
+ response.setDateHeader("Last-Modified", JGitUtils.getCommitDate(commit).getTime());
response.getOutputStream().write(content);
response.flushBuffer();
} catch (Throwable t) {
--
Gitblit v1.9.1