HTML для Markdown с Java
Есть ли простой способ преобразования HTML в уценку с помощью JAVA?
В настоящее время я использую библиотеку Java MarkdownJ, чтобы преобразовать уценку в 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 */
}
Ответы
Ответ 1
Используйте 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));
}
Ответ 2
Я встретил Remark для преобразования HTML в Markdown
см. http://remark.overzealous.com/manual/index.html
Это зависит от JSoup, мощной библиотеки Java для работы с реальным HTML.
Ответ 3
Я работаю над одной и той же проблемой и экспериментирую с помощью нескольких разных методов.
Ответ выше мог бы работать. Вы можете использовать jTidy library, чтобы выполнить первоначальную работу по очистке и преобразовать из HTML в XHTML. Вы используете таблицу стилей XSLT, указанную выше.
К сожалению, нет библиотеки, которая имеет однонаправленную функцию для этого в Java. Вы можете попробовать использовать Python script html2text с Jython, но я еще не пробовал это!
Ответ 4
если вы используете редактор WMD и хотите получить код разметки на стороне сервера, просто используйте эти параметры перед загрузкой wmd.js
script:
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
};