Strip Markdown extension from rendered [[WikiLink]] (issue-324)
Change-Id: I2f695f5d5d72d8c08272981f756334b45398a1f7
| | |
| | | // 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;
|
| | |
| | |
|
| | | 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) {
|
| | |
| | | *
|
| | | * @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() {
|
| | |
| | | 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) {
|
| | |
| | | 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);
|
| | | }
|