Java を使用した HTML から Markdown への変換
質問
JAVAを使用してHTMLをマークダウンに変換する簡単な方法はありますか?
現在Javaを使用しています マークダウンJ マークダウンをHTMLに変換するライブラリ。
import com.petebevin.markdown.MarkdownProcessor;
...
public static String getHTML(String markdown) {
MarkdownProcessor markdown_processor = new MarkdownProcessor();
return markdown_processor.markdown(markdown);
}
public static String getMarkdown(String html) {
/* TODO Ask stackoverflow */
}
解決
これを使って XSLT.
XSLT と Java の使用についてヘルプが必要な場合は、次のコード スニペットを参照してください。
public static void main(String[] args) throws Exception {
File xsltFile = new File("mardownXSLT.xslt");
Source xmlSource = new StreamSource(new StringReader(theHTML));
Source xsltSource = new StreamSource(xsltFile);
TransformerFactory transFact =
TransformerFactory.newInstance();
Transformer trans = transFact.newTransformer(xsltSource);
StringWriter result = new StringWriter();
trans.transform(xmlSource, new StreamResult(result));
}
他のヒント
HTMLをMarkdownに変換したことについての発言に出会いました。 http://remark.overzealous.com/manual/index.htmlこれは、実際の HTML を操作するための強力な Java ライブラリである JSoup に依存しています。
私は同じ問題に取り組んでおり、いくつかの異なる手法を試しています。
上記の答えは機能する可能性があります。を使用できます jTidyライブラリ 最初のクリーンアップ作業を実行し、HTML から XHTML に変換します。あなたが使用するのは、 XSLT スタイルシート 上にリンクされています。
残念ながら、Java ではこれを行うためのワンストップ機能を備えたライブラリはありません。Python スクリプトを使用してみることができます html2テキスト Jython を使っていますが、まだ試していません。
WMD エディターを使用していて、サーバー側でマークダウン コードを取得したい場合は、ファイルをロードする前にこれらのオプションを使用してください。 wmd.js
脚本:
wmd_options = {
// format sent to the server. can also be "HTML"
output: "Markdown",
// line wrapping length for lists, blockquotes, etc.
lineLength: 40,
// toolbar buttons. Undo and redo get appended automatically.
buttons: "bold italic | link blockquote code image | ol ul heading hr",
// option to automatically add WMD to the first textarea found.
autostart: true
};
所属していません StackOverflow