parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

andylars 24.10.2015 21:04 / 24.10.2015 21:25

Если экранировать ^#, теряется прямая совместимость с разметкой Markdown
Вы хотите прогнать код с одним синтаксисом через два разных языка.
сначала через синтаксис Парсера,
а потом через синтаксис Markdown,
но вас не устраивает что их синтаксисы не совместимы.

Вы же пишите метод @body[] а значит тот, кто пишет текст ниже
по сути пишет код на Парсер.

Если шаблон/текст для Markdown пассивный (не содержит кода на Парсер) то просто положите его в отдельный файл и прочитайте.
Он не исполнится как код на Парсер.

Например так:
$_tpl[^file::load[text;markdown.tpl]]

$f[^file::exec[Markdown.pl;$.stdin[$_tpl.text]]]
$f.text
Соответственно внутри markdown.tpl
все что угодно

# Заголовок
Текст

А если вы хотите и код на Парсере внутри, то тут как ни крути.
Вас же не смущает, что когда вы пишите HTML внутри JS-скрипта - вам приходится экранировать какие-то символы, т.к. вы находитесь
в окружении синтаксиса JS, хотя номинально всё "происходит" в одном файле.