Yuhi Ishikura
2013-06-02 7eb9828ec6a31ad372c6a1dac7fa042bcdbd6818
src/main/java/com/gitblit/PagesServlet.java
@@ -18,6 +18,8 @@
import java.io.IOException;
import java.text.MessageFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -147,10 +149,17 @@
         byte[] content = null;
         if (StringUtils.isEmpty(resource)) {
            // find resource
            String[] files = { "index.html", "index.htm", "index.mkd" };
            for (String file : files) {
               content = JGitUtils.getStringContent(r, tree, file, encodings)
                     .getBytes(Constants.ENCODING);
            List<String> markdownExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
            List<String> extensions = new ArrayList<String>(markdownExtensions.size() + 1);
            extensions.add("html");
            extensions.addAll(markdownExtensions);
            for (String ext : extensions){
               String file = "index." + ext;
               String stringContent = JGitUtils.getStringContent(r, tree, file, encodings);
               if(stringContent == null){
                  continue;
               }
               content = stringContent.getBytes(Constants.ENCODING);
               if (content != null) {
                  resource = file;
                  // assume text/html unless the servlet container
@@ -209,6 +218,7 @@
            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;
            }
         }