i think this is the right way to merge these'

This commit is contained in:
Boris Berenberg
2018-11-16 14:55:15 -05:00
2 changed files with 58 additions and 90 deletions

View File

@@ -2,52 +2,43 @@ package com.atlassian.plugins.confluence.markdown;
import com.atlassian.confluence.content.render.xhtml.ConversionContext; import com.atlassian.confluence.content.render.xhtml.ConversionContext;
import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext; import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext;
import com.atlassian.confluence.content.render.xhtml.XhtmlException;
import com.atlassian.confluence.macro.Macro; import com.atlassian.confluence.macro.Macro;
import com.atlassian.confluence.macro.MacroExecutionException; import com.atlassian.confluence.macro.MacroExecutionException;
import com.atlassian.confluence.xhtml.api.MacroDefinition;
import com.atlassian.confluence.xhtml.api.MacroDefinitionHandler;
import com.atlassian.confluence.xhtml.api.XhtmlContent; import com.atlassian.confluence.xhtml.api.XhtmlContent;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.atlassian.renderer.RenderContext; import com.atlassian.renderer.RenderContext;
import com.atlassian.renderer.v2.RenderMode; import com.atlassian.renderer.v2.RenderMode;
import com.atlassian.renderer.v2.macro.BaseMacro; import com.atlassian.renderer.v2.macro.BaseMacro;
import com.atlassian.renderer.v2.macro.MacroException; import com.atlassian.renderer.v2.macro.MacroException;
//import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import com.atlassian.webresource.api.assembler.PageBuilderService; import com.atlassian.webresource.api.assembler.PageBuilderService;
import org.springframework.beans.factory.annotation.Autowired;
import com.vladsch.flexmark.ast.Node; import com.vladsch.flexmark.ast.Node;
import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughSubscriptExtension;
import com.vladsch.flexmark.ext.tables.TablesExtension;
import com.vladsch.flexmark.ext.ins.InsExtension;
import com.vladsch.flexmark.ext.definition.DefinitionExtension;
import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension;
import com.vladsch.flexmark.ext.footnotes.FootnoteExtension;
import com.vladsch.flexmark.ext.wikilink.WikiLinkExtension;
import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension; import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension;
import com.vladsch.flexmark.superscript.SuperscriptExtension; import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
import com.vladsch.flexmark.ext.definition.DefinitionExtension;
import com.vladsch.flexmark.ext.footnotes.FootnoteExtension;
import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughSubscriptExtension;
import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension;
import com.vladsch.flexmark.ext.ins.InsExtension;
import com.vladsch.flexmark.ext.tables.TablesExtension;
import com.vladsch.flexmark.ext.wikilink.WikiLinkExtension;
import com.vladsch.flexmark.ext.youtube.embedded.YouTubeLinkExtension; import com.vladsch.flexmark.ext.youtube.embedded.YouTubeLinkExtension;
import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.superscript.SuperscriptExtension;
import com.vladsch.flexmark.util.options.MutableDataSet; import com.vladsch.flexmark.util.options.MutableDataSet;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.Map;
import java.net.*; public class MarkdownFromURLMacro extends BaseMacro implements Macro {
import java.io.*;
//@Scanned
public class MarkdownFromURLMacro extends BaseMacro implements Macro
{
private final XhtmlContent xhtmlUtils; private final XhtmlContent xhtmlUtils;
@@ -59,24 +50,19 @@ public class MarkdownFromURLMacro extends BaseMacro implements Macro
this.xhtmlUtils = xhtmlUtils; this.xhtmlUtils = xhtmlUtils;
} }
// public MarkdownFromURLMacro(XhtmlContent xhtmlUtils)
// {
// this.xhtmlUtils = xhtmlUtils;
// }
@Override @Override
public BodyType getBodyType() public BodyType getBodyType() {
{
return BodyType.PLAIN_TEXT; return BodyType.PLAIN_TEXT;
} }
@Override @Override
public OutputType getOutputType() public OutputType getOutputType() {
{
return OutputType.BLOCK; return OutputType.BLOCK;
} }
@Override @Override
public String execute(Map<String, String> parameters, String bodyContent, ConversionContext conversionContext) throws MacroExecutionException public String execute(Map<String, String> parameters, String bodyContent, ConversionContext conversionContext) throws MacroExecutionException
{ {
@@ -186,7 +172,7 @@ public class MarkdownFromURLMacro extends BaseMacro implements Macro
try { try {
return execute(map, s, new DefaultConversionContext(renderContext)); return execute(map, s, new DefaultConversionContext(renderContext));
} catch (MacroExecutionException e) { } catch (MacroExecutionException e) {
throw new MacroException(e.getMessage(),e); throw new MacroException(e.getMessage(), e);
} }
} }
} }

View File

@@ -2,48 +2,36 @@ package com.atlassian.plugins.confluence.markdown;
import com.atlassian.confluence.content.render.xhtml.ConversionContext; import com.atlassian.confluence.content.render.xhtml.ConversionContext;
import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext; import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext;
import com.atlassian.confluence.content.render.xhtml.XhtmlException;
import com.atlassian.confluence.macro.Macro; import com.atlassian.confluence.macro.Macro;
import com.atlassian.confluence.macro.MacroExecutionException; import com.atlassian.confluence.macro.MacroExecutionException;
import com.atlassian.confluence.xhtml.api.MacroDefinition;
import com.atlassian.confluence.xhtml.api.MacroDefinitionHandler;
import com.atlassian.confluence.xhtml.api.XhtmlContent; import com.atlassian.confluence.xhtml.api.XhtmlContent;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.atlassian.renderer.RenderContext; import com.atlassian.renderer.RenderContext;
import com.atlassian.renderer.v2.RenderMode; import com.atlassian.renderer.v2.RenderMode;
import com.atlassian.renderer.v2.macro.BaseMacro; import com.atlassian.renderer.v2.macro.BaseMacro;
import com.atlassian.renderer.v2.macro.MacroException; import com.atlassian.renderer.v2.macro.MacroException;
//import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import com.atlassian.webresource.api.assembler.PageBuilderService; import com.atlassian.webresource.api.assembler.PageBuilderService;
import org.springframework.beans.factory.annotation.Autowired;
import com.vladsch.flexmark.ast.Node; import com.vladsch.flexmark.ast.Node;
import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughSubscriptExtension;
import com.vladsch.flexmark.ext.tables.TablesExtension;
import com.vladsch.flexmark.ext.ins.InsExtension;
import com.vladsch.flexmark.ext.definition.DefinitionExtension;
import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension;
import com.vladsch.flexmark.ext.footnotes.FootnoteExtension;
import com.vladsch.flexmark.ext.wikilink.WikiLinkExtension;
import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension; import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension;
import com.vladsch.flexmark.superscript.SuperscriptExtension; import com.vladsch.flexmark.ext.autolink.AutolinkExtension;
import com.vladsch.flexmark.ext.definition.DefinitionExtension;
import com.vladsch.flexmark.ext.footnotes.FootnoteExtension;
import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughSubscriptExtension;
import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension;
import com.vladsch.flexmark.ext.ins.InsExtension;
import com.vladsch.flexmark.ext.tables.TablesExtension;
import com.vladsch.flexmark.ext.wikilink.WikiLinkExtension;
import com.vladsch.flexmark.ext.youtube.embedded.YouTubeLinkExtension; import com.vladsch.flexmark.ext.youtube.embedded.YouTubeLinkExtension;
import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.superscript.SuperscriptExtension;
import com.vladsch.flexmark.util.options.MutableDataSet; import com.vladsch.flexmark.util.options.MutableDataSet;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Arrays;
import java.util.Map;
//@Scanned public class MarkdownMacro extends BaseMacro implements Macro {
public class MarkdownMacro extends BaseMacro implements Macro
{
private final XhtmlContent xhtmlUtils; private final XhtmlContent xhtmlUtils;
@@ -55,26 +43,18 @@ public class MarkdownMacro extends BaseMacro implements Macro
this.xhtmlUtils = xhtmlUtils; this.xhtmlUtils = xhtmlUtils;
} }
// public MarkdownMacro(XhtmlContent xhtmlUtils)
// {
// this.xhtmlUtils = xhtmlUtils;
// }
@Override @Override
public BodyType getBodyType() public BodyType getBodyType() {
{
return BodyType.PLAIN_TEXT; return BodyType.PLAIN_TEXT;
} }
@Override @Override
public OutputType getOutputType() public OutputType getOutputType() {
{
return OutputType.BLOCK; return OutputType.BLOCK;
} }
@Override @Override
public String execute(Map<String, String> parameters, String bodyContent, ConversionContext conversionContext) throws MacroExecutionException public String execute(Map<String, String> parameters, String bodyContent, ConversionContext conversionContext) throws MacroExecutionException {
{
pageBuilderService.assembler().resources().requireWebResource("com.atlassian.plugins.confluence.markdown.confluence-markdown-macro:highlightjs"); pageBuilderService.assembler().resources().requireWebResource("com.atlassian.plugins.confluence.markdown.confluence-markdown-macro:highlightjs");
@@ -92,17 +72,17 @@ public class MarkdownMacro extends BaseMacro implements Macro
.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create())); .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create()));
options.set(Parser.EXTENSIONS, Arrays.asList( options.set(Parser.EXTENSIONS, Arrays.asList(
TablesExtension.create(), TablesExtension.create(),
StrikethroughSubscriptExtension.create(), StrikethroughSubscriptExtension.create(),
InsExtension.create(), InsExtension.create(),
TaskListExtension.create(), TaskListExtension.create(),
FootnoteExtension.create(), FootnoteExtension.create(),
WikiLinkExtension.create(), WikiLinkExtension.create(),
DefinitionExtension.create(), DefinitionExtension.create(),
AnchorLinkExtension.create(), AnchorLinkExtension.create(),
AutolinkExtension.create(), AutolinkExtension.create(),
SuperscriptExtension.create(), SuperscriptExtension.create(),
YouTubeLinkExtension.create() YouTubeLinkExtension.create()
)); ));
@@ -124,7 +104,9 @@ public class MarkdownMacro extends BaseMacro implements Macro
HtmlRenderer renderer = HtmlRenderer.builder(options).build(); HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse(bodyContent); Node document = parser.parse(bodyContent);
String html = renderer.render(document ) + highlightjs + highlightjscss; // "<p>This is <em>Sparta</em></p>\n" String html = renderer.render(document ) + highlightjs + highlightjscss; // "<p>This is <em>Sparta</em></p>\n"
return html; return html;
} }
@@ -144,7 +126,7 @@ public class MarkdownMacro extends BaseMacro implements Macro
try { try {
return execute(map, s, new DefaultConversionContext(renderContext)); return execute(map, s, new DefaultConversionContext(renderContext));
} catch (MacroExecutionException e) { } catch (MacroExecutionException e) {
throw new MacroException(e.getMessage(),e); throw new MacroException(e.getMessage(), e);
} }
} }
} }