2015-07-07 3 views
0

У меня есть некоторые существующие тексты Mediawiki формата, которые содержат категории лексемы, какС Pandoc, как конвертировать между различными форматами с дополнительными правилами?

[[Category:XXX]] 
[[Category:YYY]] 

Я хотел бы преобразовать их уценку текстов. Основная команда для выполнения, что с Pandoc является

pandoc -f mediawiki -t markdown -s mytext.mediawiki -o mytext.md 

Полученный текст уценки в основном использоваться за исключением того, что он преобразует маркеры категории в

<Category:XXX> <Category:YYY> 

, который на самом деле не то, что мне нужно. Вместо этого мне нужно

[[!tag XXX YYY]] 

, потому что я использую результирующую Markdown файлы в качестве исходных файлов в специальной системе управления контентом под названием Ikiwiki, которая имеет свой особенный формат теги. Как это сделать с Pandoc?

+0

это, вероятно, проще всего сделать в качестве второго шага с поиском и заменой на ''. обратите внимание, что pandoc без опции '-o' записывает в стандартную версию, поэтому вы можете напрямую ее перенести на какой-то шаг постобработки ... – mb21

+0

Я думаю, я могу принять это как решение - вывести результаты Pandoc по собственной обработке скриптами. Я надеялся, что правила преобразования некоторых элементов контента могут быть настроены с помощью конфигурации и/или опций Pandoc. –

+0

Спасибо, размещены ниже с более чистой альтернативой. Кстати, есть много [сценариев] (http://pandoc.org/README.html#options-affecting-specific-writers), но большинство из них для авторов HTML, EPUB и LaTeX ... – mb21

ответ

0

Это, вероятно, проще всего сделать в качестве второго шага с поиском и заменой на <Category:XXX>. Обратите внимание, что pandoc без опции -o записывается в стандартную версию, поэтому вы можете напрямую ее перенести на какой-то пользовательский сценарий пост-обработки.

[[Category:XXX]] преобразуется pandoc внутрь по ссылке <a href="Category:XXX" title="wikilink">Category:XXX</a> (попробуйте pandoc -f mediawiki -t native).

Как правило, дополнительные правила для элементов реализуются с помощью пользовательских сценариев, которые соответствуют Pandoc's internal data types, см. Pandoc scripting. Таким образом, вы можете сравниться с этими типами ссылок. Это больше работает (в первый раз), но совершенно уверен, что вы не замените ложных срабатываний.

Смежные вопросы