HTML в Markdown с помощью Java - PullRequest
       42

HTML в Markdown с помощью Java

34 голосов
/ 12 сентября 2008

Есть ли простой способ превратить 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 */
}

Ответы [ 4 ]

39 голосов
/ 12 сентября 2008

Используйте это 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));
    }
10 голосов
/ 30 января 2014

Мне попалось замечание за преобразование HTML в Markdown см .: http://remark.overzealous.com/manual/index.html Это зависит от JSoup, мощной библиотеки Java для работы с реальным HTML.

2 голосов
/ 07 октября 2008

Я работаю над той же проблемой и экспериментирую с парой разных техник.

Ответ выше может сработать. Вы можете использовать библиотеку jTidy , чтобы выполнить первоначальную очистку и конвертировать из HTML в XHTML. Вы используете XSLT-таблицу стилей , указанную выше.

К сожалению, в Java нет библиотеки, в которой есть универсальная функция для этого. Вы можете попробовать использовать скрипт Python html2text с Jython, но я еще не пробовал это!

1 голос
/ 12 апреля 2009

, если вы используете редактор 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
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...