Библиотека Markdown, которая поддерживает ограничение подмножества?

Например, Stack Overflow позволяет использовать только очень небольшое подмножество синтаксиса Markdown в редакторе комментариев.

Я хотел бы знать, есть ли какая-либо библиотека Markdown с открытым исходным кодом, которая поддерживает ограничение синтаксиса? В настоящее время я использую Python, но я даже не могу найти его ни на одном языке.


person qingbo    schedule 14.08.2011    source источник
comment
Какой синтаксис вы хотите запретить?   -  person braveterry    schedule 03.03.2012
comment
Например, отключите HTML, чтобы комментаторы не портили мой блог. Также отключите теги заголовков и т. д.   -  person qingbo    schedule 05.03.2012


Ответы (2)


Я никогда не использовал синтаксические анализаторы Python Markdown, но я использовал библиотеку Java Markdown под названием Pegdown, которая позволяет вам для включения или отключения различных расширений синтаксиса.

Например, этот фрагмент включает Markdown Extra синтаксис таблицы и отключает как встроенный HTML, так и блоки HTML во вводе уценки:

PegDownProcessor processor 
        = new PegDownProcessor(Parser.TABLES | Parser.SUPPRESS_ALL_HTML);
String html = processor.markdownToHtml(markdown);

Здесь приведен список всех доступных расширений PegDown.

person braveterry    schedule 06.03.2012

Существует библиотека C, которая называется peg-markdown. Синтаксис уценки определяется как грамматика, поэтому его довольно легко модифицировать. Чтобы разрешить только подмножество уценки, вы можете удалить разделы, которые соответствуют недопустимому синтаксису, чтобы они не были преобразованы в токены.

Существуют привязки Ruby для привязки-уценки, но я полагаю, что написать привязки для Python не составит труда.

person rekado    schedule 05.12.2012