У вас есть несколько вариантов различий:
Marked.js использует многошаговый метод для анализа Markdown. Он использует лексер, который разбивает документ на токены, анализатор для преобразования этих токенов в абстрактное синтаксическое дерево (AST) и средство визуализации для преобразования AST в HTML. Вы можете переопределить любую из этих частей, чтобы изменить обработку различных частей синтаксиса.
Например, если вы просто хотели игнорировать списки и не включать их в отображаемый HTML-код, замените функцию list
из средства визуализации на функцию, которая возвращает пустую строку.
Или, если вы хотите, чтобы синтаксический анализатор действовал так, как будто списки не являются даже поддерживаемой функцией Markdown, вы можете удалить методы list
и listitem
из синтаксического анализатора. В этом случае список останется в выводе, но будет рассматриваться как параграф.
Или, если вы хотите поддерживать один уровень списков, но не вложенные списки, вы можете заменить методы list
и / или listitem
в анализаторе своей собственной реализацией, которая анализирует списки по вашему желанию.
Обратите внимание, что есть также число расширенных опций , которые используют вышеуказанные методы для изменения синтаксического анализатора и / или рендеринга различными способами. По большей части эти опции не будут предоставлять запрашиваемые вами функции, но просмотр исходного кода может дать вам некоторые идеи о том, как реализовать ваши собственные модификации.
Однако есть опция sanitize
, которая принимает функцию sanitizer
. Вы могли бы предоставить собственное дезинфицирующее средство, которое удаляло все нежелательные элементы из вывода HTML. Это приведет к тому же конечному результату, что и переопределение рендера, но будет реализовано иначе. В зависимости от того, чего вы хотите достичь, один или другой может быть более эффективным.