| | |
| | | */
|
| | | package com.gitblit.wicket;
|
| | |
|
| | | import static org.pegdown.FastEncoder.encode;
|
| | |
|
| | | import java.io.Serializable;
|
| | | import java.io.StringWriter;
|
| | | import java.io.UnsupportedEncodingException;
|
| | |
| | | import org.eclipse.mylyn.wikitext.tracwiki.core.TracWikiLanguage;
|
| | | import org.eclipse.mylyn.wikitext.twiki.core.TWikiLanguage;
|
| | | import org.pegdown.LinkRenderer;
|
| | | import org.pegdown.ast.ExpImageNode;
|
| | | import org.pegdown.ast.RefImageNode;
|
| | | import org.pegdown.ast.WikiLinkNode;
|
| | | import org.slf4j.Logger;
|
| | | import org.slf4j.LoggerFactory;
|
| | |
| | | */
|
| | | private void parse(final MarkupDocument doc, final String repositoryName, final String commitId) {
|
| | | LinkRenderer renderer = new LinkRenderer() {
|
| | |
|
| | | @Override
|
| | | public Rendering render(ExpImageNode node, String text) {
|
| | | if (node.url.indexOf("://") == -1) {
|
| | | // repository-relative image link
|
| | | String path = doc.getRelativePath(node.url);
|
| | | String url = getWicketUrl(RawPage.class, repositoryName, commitId, path);
|
| | | return new Rendering(url, text);
|
| | | }
|
| | | // absolute image link
|
| | | return new Rendering(node.url, text);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Rendering render(RefImageNode node, String url, String title, String alt) {
|
| | | Rendering rendering;
|
| | | if (url.indexOf("://") == -1) {
|
| | | // repository-relative image link
|
| | | String path = doc.getRelativePath(url);
|
| | | String wurl = getWicketUrl(RawPage.class, repositoryName, commitId, path);
|
| | | rendering = new Rendering(wurl, alt);
|
| | | } else {
|
| | | // absolute image link
|
| | | rendering = new Rendering(url, alt);
|
| | | }
|
| | | return StringUtils.isEmpty(title) ? rendering : rendering.withAttribute("title", encode(title));
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Rendering render(WikiLinkNode node) {
|
| | | String path = doc.getRelativePath(node.getText());
|