是否有不错的,可自定义的Markdown Java API HTML?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有不错的,可自定义的Markdown Java API HTML?相关的知识,希望对你有一定的参考价值。
我想保存从各种来源刮取的文本,而没有上面的html标记,但还要尽可能地保留其结构。
Markdown似乎是对此的解决方案(或可能是MultiMarkdown)。
[a question提供了有关从HTML转换为降价的建议,但我想指定一些具体的东西:
- 仅在结尾处引用所有链接(包括图像)(即没有内联网址)
- 没有嵌入HTML(我什至100%都不确定我要如何处理困难的HTML ...但是不会嵌入!)
所以我的问题如标题中所述:Markdown Java API是否有不错的,可定制的HTML?
答案
您可以尝试改编HtmlCleaner,它为DOM提供了可行的接口:
TagNode root = htmlCleaner.clean( stream );
Object[] found = root.evaluateXPath( "//div[id='something']" );
if( found.length > 0 && found instanceof TagNode )
((TagNode)found[0]).removeFromTree();
这将允许您使用相当简单的API以所需的任何格式来构造输出流。
另一答案
[JS有一个很棒的库,名为Turndown,您可以在线尝试它here。它可以部分定制。例如,可以在最后引用链接。据我所知,没有嵌入式html,一切都已转换。
我为Java需要它(作为链接的问题),所以我移植了它。 Java库称为CopyDown,它具有与Turndown相同的测试套件。
要安装gradle:
dependencies
compile 'io.github.furstenheim:copy_down:1.0'
然后使用它:
CopyDown converter = new CopyDown();
String myHtml = "<h1>Some title</h1><div>Some html<p>Another paragraph</p></div>";
String markdown = converter.convert(myHtml);
System.out.println(markdown);
> Some title\n==========\n\nSome html\n\nAnother paragraph\n
以上是关于是否有不错的,可自定义的Markdown Java API HTML?的主要内容,如果未能解决你的问题,请参考以下文章
markdown 引导完整的iPXE本机菜单,带有可自定义的默认选项和超时(还包括工作Ubuntu 12.04预置安装)