简体   繁体   English

使用XWiki将HTML转换为Markdown

[英]Convert Html to markdown using xwiki

How do i convert from html to markdown with xwiki, 如何使用xwiki从html转换为markdown,

Getting "java.lang.NoSuchFieldError: fRecognizedFeatures" for shouldRenderHtmlToMarkdown, tried different formats of html. 获取shouldRenderHtmlToMarkdown的“ java.lang.NoSuchFieldError:fRecognizedFeatures”,尝试了不同格式的html。

public class HtmlRendererTest
{
    private Converter converter;
    private WikiPrinter printer;

    @Test
    public void testHtmlToMarkdown() throws ComponentLookupException, ConversionException, ParseException, ComponentRepositoryException
    {
        WikiPrinter printer = new DefaultWikiPrinter();
        converter.convert(new StringReader("<h3 id=\"HHeader3\"><span>Header 3</span></h3>"), Syntax.XHTML_1_0, Syntax.MARKDOWN_1_1,  printer);

        System.out.println(printer.toString());
        assertThat(printer.toString(), containsString("###"));
    }

    @Test
    public void testMarkdownToHtml() throws ComponentLookupException, ConversionException, ParseException, ComponentRepositoryException
    {
        WikiPrinter printer = new DefaultWikiPrinter();
        converter.convert(new StringReader("### Header 3"), Syntax.MARKDOWN_1_1, Syntax.ANNOTATED_XHTML_1_0, printer);

        System.out.println(printer.toString());
        assertThat(printer.toString(), containsString("</h3>"));
    }

    @Before
    public void setUp() throws ComponentLookupException, ConversionException
    {
        EmbeddableComponentManager componentManager = new EmbeddableComponentManager();
        componentManager.initialize(this.getClass().getClassLoader());

        converter = componentManager.getInstance(Converter.class);
        printer = new DefaultWikiPrinter();
    }

}

XWiki only provide a parser for Markdown right now so unless you wrote a markdown serializer yourself shouldRenderHtmlToMarkdown cannot really work. XWiki现在仅为Markdown提供解析器,因此,除非您自己编写了markdown序列化程序,否则RenderHtmlToMarkdown不能真正起作用。

Now it's not what "java.lang.NoSuchFieldError: fRecognizedFeatures" is about, usually it means you have some incompatible jars (one class expect to find a field but the target class is not in the expected version). 现在,它不是“ java.lang.NoSuchFieldError:fRecognizedFeatures”的含义,通常意味着您有一些不兼容的jar(一个类希望找到一个字段,但目标类不在预期的版本中)。 The complete stack trace might help understanding which ones. 完整的堆栈跟踪可能有助于了解哪些堆栈跟踪。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM