.classpath | ●●●●● patch | view | raw | blame | history | |
NOTICE | ●●●●● patch | view | raw | blame | history | |
build.moxie | ●●●●● patch | view | raw | blame | history | |
gitblit.iml | ●●●●● patch | view | raw | blame | history | |
releases.moxie | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/GitBlit.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/utils/MarkdownUtils.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/MarkdownPage.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/SummaryPage.java | ●●●●● patch | view | raw | blame | history | |
src/site/design.mkd | ●●●●● patch | view | raw | blame | history | |
src/test/java/com/gitblit/tests/MarkdownUtilsTest.java | ●●●●● patch | view | raw | blame | history |
.classpath
@@ -20,7 +20,13 @@ <classpathentry kind="lib" path="ext/lucene-memory-3.6.1.jar" sourcepath="ext/src/lucene-memory-3.6.1.jar" /> <classpathentry kind="lib" path="ext/lucene-queries-3.6.1.jar" sourcepath="ext/src/lucene-queries-3.6.1.jar" /> <classpathentry kind="lib" path="ext/jakarta-regexp-1.4.jar" /> <classpathentry kind="lib" path="ext/markdownpapers-core-1.3.2.jar" sourcepath="ext/src/markdownpapers-core-1.3.2.jar" /> <classpathentry kind="lib" path="ext/pegdown-1.4.1.jar" sourcepath="ext/src/pegdown-1.4.1.jar" /> <classpathentry kind="lib" path="ext/parboiled-java-1.1.5.jar" sourcepath="ext/src/parboiled-java-1.1.5.jar" /> <classpathentry kind="lib" path="ext/parboiled-core-1.1.5.jar" sourcepath="ext/src/parboiled-core-1.1.5.jar" /> <classpathentry kind="lib" path="ext/asm-4.1.jar" sourcepath="ext/src/asm-4.1.jar" /> <classpathentry kind="lib" path="ext/asm-tree-4.1.jar" sourcepath="ext/src/asm-tree-4.1.jar" /> <classpathentry kind="lib" path="ext/asm-analysis-4.1.jar" sourcepath="ext/src/asm-analysis-4.1.jar" /> <classpathentry kind="lib" path="ext/asm-util-4.1.jar" sourcepath="ext/src/asm-util-4.1.jar" /> <classpathentry kind="lib" path="ext/org.eclipse.jgit-3.1.0.201310021548-r.jar" sourcepath="ext/src/org.eclipse.jgit-3.1.0.201310021548-r.jar" /> <classpathentry kind="lib" path="ext/jsch-0.1.46.jar" sourcepath="ext/src/jsch-0.1.46.jar" /> <classpathentry kind="lib" path="ext/JavaEWAH-0.5.6.jar" sourcepath="ext/src/JavaEWAH-0.5.6.jar" /> NOTICE
@@ -56,14 +56,6 @@ https://github.com/wicketstuff/core/wiki/GoogleCharts --------------------------------------------------------------------------- MarkdownPapers --------------------------------------------------------------------------- MarkdownPapers, released under the Apache Software License, Version 2.0. http://markdown.tautua.org --------------------------------------------------------------------------- Jetty --------------------------------------------------------------------------- Jetty, released under the @@ -318,4 +310,12 @@ Apache License 2.0. http://commons.apache.org/proper/commons-codec --------------------------------------------------------------------------- pegdown --------------------------------------------------------------------------- pegdown, release under the Apache License 2.0. https://github.com/sirthias/pegdown build.moxie
@@ -135,7 +135,7 @@ - compile 'org.apache.lucene:lucene-core:${lucene.version}' :war :fedclient - compile 'org.apache.lucene:lucene-highlighter:${lucene.version}' :war :fedclient - compile 'org.apache.lucene:lucene-memory:${lucene.version}' :war :fedclient - compile 'org.tautua.markdownpapers:markdownpapers-core:1.3.2' :war - compile 'org.pegdown:pegdown:1.4.1' :war - compile 'org.eclipse.jgit:org.eclipse.jgit:${jgit.version}' :war :fedclient :manager :authority - compile 'org.eclipse.jgit:org.eclipse.jgit.http.server:${jgit.version}' :war :fedclient :manager :authority - compile 'org.bouncycastle:bcprov-jdk15on:${bouncycastle.version}' :war :authority gitblit.iml
@@ -196,13 +196,79 @@ </library> </orderEntry> <orderEntry type="module-library"> <library name="markdownpapers-core-1.3.2.jar"> <library name="pegdown-1.4.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/markdownpapers-core-1.3.2.jar!/" /> <root url="jar://$MODULE_DIR$/ext/pegdown-1.4.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/markdownpapers-core-1.3.2.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/pegdown-1.4.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="parboiled-java-1.1.5.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/parboiled-java-1.1.5.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/parboiled-java-1.1.5.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="parboiled-core-1.1.5.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/parboiled-core-1.1.5.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/parboiled-core-1.1.5.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="asm-4.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/asm-4.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/asm-4.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="asm-tree-4.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/asm-tree-4.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/asm-tree-4.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="asm-analysis-4.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/asm-analysis-4.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/asm-analysis-4.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="asm-util-4.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/asm-util-4.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/asm-util-4.1.jar!/" /> </SOURCES> </library> </orderEntry> releases.moxie
@@ -32,6 +32,7 @@ dependencyChanges: - updated to Jetty 7.6.13 - updated to JGit 3.1.0 - replaced MarkdownPapers with pegdown 1.4.1 settings: - { name: 'git.createRepositoriesShared', defaultValue: 'false' } - { name: 'git.allowAnonymousPushes', defaultValue: 'false' } src/main/java/com/gitblit/GitBlit.java
@@ -32,7 +32,6 @@ import java.nio.charset.Charset; import java.security.Principal; import java.text.MessageFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -2713,7 +2712,7 @@ try { String prepared = processCommitMessageRegex(repository.name, text); return MarkdownUtils.transformMarkdown(prepared); } catch (ParseException e) { } catch (Exception e) { logger.error("Failed to render commit message as markdown", e); } break; src/main/java/com/gitblit/utils/MarkdownUtils.java
@@ -15,14 +15,14 @@ */ package com.gitblit.utils; import static org.pegdown.Extensions.ALL; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import org.slf4j.LoggerFactory; import org.tautua.markdownpapers.Markdown; import org.tautua.markdownpapers.parser.ParseException; import org.apache.commons.io.IOUtils; import org.pegdown.PegDownProcessor; /** * Utility methods for transforming raw markdown text to html. @@ -39,17 +39,10 @@ * @return html version of markdown text * @throws java.text.ParseException */ public static String transformMarkdown(String markdown) throws java.text.ParseException { try { StringReader reader = new StringReader(markdown); String html = transformMarkdown(reader); reader.close(); return html; } catch (IllegalArgumentException e) { throw new java.text.ParseException(e.getMessage(), 0); } catch (NullPointerException p) { throw new java.text.ParseException("Markdown string is null!", 0); } public static String transformMarkdown(String markdown) { PegDownProcessor pd = new PegDownProcessor(ALL); String html = pd.markdownToHtml(markdown); return html; } /** @@ -60,22 +53,13 @@ * @return html version of the markdown text * @throws java.text.ParseException */ public static String transformMarkdown(Reader markdownReader) throws java.text.ParseException { public static String transformMarkdown(Reader markdownReader) throws IOException { // Read raw markdown content and transform it to html StringWriter writer = new StringWriter(); try { Markdown md = new Markdown(); md.transform(markdownReader, writer); return writer.toString().trim(); } catch (StringIndexOutOfBoundsException e) { LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", e); throw new java.text.ParseException(e.getMessage(), 0); } catch (ParseException p) { LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", p); throw new java.text.ParseException(p.getMessage(), 0); } catch (Exception e) { LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", e); throw new java.text.ParseException(e.getMessage(), 0); IOUtils.copy(markdownReader, writer); String markdown = writer.toString(); return transformMarkdown(markdown); } finally { try { writer.close(); src/main/java/com/gitblit/wicket/pages/MarkdownPage.java
@@ -16,7 +16,6 @@ package com.gitblit.wicket.pages; import java.text.MessageFormat; import java.text.ParseException; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.basic.Label; @@ -60,7 +59,8 @@ String htmlText; try { htmlText = MarkdownUtils.transformMarkdown(markdownText); } catch (ParseException p) { } catch (Exception e) { logger.error("failed to transform markdown", e); markdownText = MessageFormat.format("<div class=\"alert alert-error\"><strong>{0}:</strong> {1}</div>{2}", getString("gb.error"), getString("gb.markdownFailure"), markdownText); htmlText = StringUtils.breakLinesForHtml(markdownText); } src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -75,7 +75,7 @@ public abstract class RepositoryPage extends RootPage { private final Logger logger = LoggerFactory.getLogger(getClass()); protected final Logger logger = LoggerFactory.getLogger(getClass()); private final String PARAM_STAR = "star"; src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -18,7 +18,6 @@ import java.awt.Color; import java.awt.Dimension; import java.text.MessageFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -166,7 +165,8 @@ markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings); htmlText = MarkdownUtils.transformMarkdown(markdownText); } } catch (ParseException p) { } catch (Exception e) { logger.error("failed to transform markdown", e); markdownText = MessageFormat.format("<div class=\"alert alert-error\"><strong>{0}:</strong> {1}</div>{2}", getString("gb.error"), getString("gb.markdownFailure"), markdownText); htmlText = StringUtils.breakLinesForHtml(markdownText); } src/site/design.mkd
@@ -29,7 +29,6 @@ - [JGit][jgit] (EDL 1.0) - [Wicket](http://wicket.apache.org) (Apache 2.0) - [WicketStuff GoogleCharts](https://github.com/wicketstuff/core/wiki/GoogleCharts) (Apache 2.0) - [MarkdownPapers](http://markdown.tautua.org) (Apache 2.0) - [Jetty](http://eclipse.org/jetty) (Apache 2.0, EPL 1.0) - [SLF4J](http://www.slf4j.org) (MIT/X11) - [Log4j](http://logging.apache.org/log4j) (Apache 2.0) @@ -53,6 +52,7 @@ - [Guava](https://code.google.com/p/guava-libraries) (Apache 2.0) - [libpam4j](https://github.com/kohsuke/libpam4j) (MIT) - [commons-codec](http://commons.apache.org/proper/commons-codec) (Apache 2.0) - [pegdown](https://github.com/sirthias/pegdown) (Apache 2.0) ### Other Build Dependencies - [Fancybox image viewer](http://fancybox.net) (MIT and GPL dual-licensed) src/test/java/com/gitblit/tests/MarkdownUtilsTest.java
@@ -16,9 +16,6 @@ package com.gitblit.tests; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.text.ParseException; import org.junit.Test; @@ -28,8 +25,8 @@ @Test public void testMarkdown() throws Exception { assertEquals("<h1> H1</h1>", MarkdownUtils.transformMarkdown("# H1")); assertEquals("<h2> H2</h2>", MarkdownUtils.transformMarkdown("## H2")); assertEquals("<h1>H1</h1>", MarkdownUtils.transformMarkdown("# H1")); assertEquals("<h2>H2</h2>", MarkdownUtils.transformMarkdown("## H2")); assertEquals("<p><strong>THIS</strong> is a test</p>", MarkdownUtils.transformMarkdown("**THIS** is a test")); assertEquals("<p>** THIS ** is a test</p>", @@ -43,12 +40,5 @@ MarkdownUtils.transformMarkdown("<table><tr><td>test</td></tr></table>")); assertEquals("<table><tr><td><test></td></tr></table>", MarkdownUtils.transformMarkdown("<table><tr><td><test></td></tr></table>")); try { MarkdownUtils.transformMarkdown((String) null); assertTrue(false); } catch (ParseException p) { assertTrue(p != null); } } }