James Moger
2013-10-25 96a6dae0c86e505e129ce4af33886f4dda69d169
Strip Markdown extension from rendered [[WikiLink]] (issue-324)

Change-Id: I2f695f5d5d72d8c08272981f756334b45398a1f7
4 files modified
19 ■■■■ changed files
src/main/java/com/gitblit/wicket/pages/DocsPage.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/MarkdownPage.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/SummaryPage.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/DocsPage.java
@@ -74,7 +74,7 @@
            // load the document
            String [] encodings = GitBlit.getEncodings();
            markdown = JGitUtils.getStringContent(r, head.getTree(), doc, encodings);
            html = MarkdownUtils.transformMarkdown(markdown, getLinkRenderer());
            html = MarkdownUtils.transformMarkdown(markdown, getMarkdownLinkRenderer());
        }
        Fragment fragment = null;
src/main/java/com/gitblit/wicket/pages/MarkdownPage.java
@@ -79,7 +79,7 @@
        String htmlText;
        try {
            htmlText = MarkdownUtils.transformMarkdown(markdownText, getLinkRenderer());
            htmlText = MarkdownUtils.transformMarkdown(markdownText, getMarkdownLinkRenderer());
        } catch (Exception e) {
            logger.error("failed to transform markdown", e);
            if (markdownText == null) {
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -653,7 +653,7 @@
     *
     * @return a link renderer
     */
    protected LinkRenderer getLinkRenderer() {
    protected LinkRenderer getMarkdownLinkRenderer() {
        RevCommit head = JGitUtils.getCommit(r, "HEAD");
        final String id = getBestCommitId(head);
        LinkRenderer renderer = new LinkRenderer() {
@@ -662,10 +662,21 @@
                try {
                    String fsc = GitBlit.getString(Keys.web.forwardSlashCharacter, "/");
                    String path = URLEncoder.encode(node.getText().replace(' ', '-'), "UTF-8").replace("%2F", fsc);
                    // extract document name
                    String name = node.getText();
                    if (name.indexOf('/') > -1) {
                        name = name.substring(name.lastIndexOf('/') + 1);
                    }
                    // strip Markdown extension
                    for (String ext : GitBlit.getStrings(Keys.web.markdownExtensions)) {
                        String x = "." + ext;
                        if (name.endsWith(x)) {
                            name = name.substring(0, name.length() - x.length());
                            break;
                        }
                    }
                    String url = urlFor(MarkdownPage.class, WicketUtils.newPathParameter(repositoryName, id, path)).toString();
                    return new Rendering(url, name);
                } catch (UnsupportedEncodingException e) {
src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -167,7 +167,7 @@
                String [] encodings = GitBlit.getEncodings();
                markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings);
                if (isMarkdown) {
                    htmlText = MarkdownUtils.transformMarkdown(markdownText, getLinkRenderer());
                    htmlText = MarkdownUtils.transformMarkdown(markdownText, getMarkdownLinkRenderer());
                } else {
                    htmlText = MarkdownUtils.transformPlainText(markdownText);
                }