2015-01-22 2 views
2

Я пытаюсь использовать pandoc, чтобы объединить кучу файлов разметки в один html-документ. Каждый файл предназначен для другой лекции класса, и моя цель - установить тег <hr> между каждым файлом уценки, поэтому легче увидеть, где происходит разрыв лекции.Pandoc - Вставить разделитель между файлами

Я знаю, что можно добавить разрывы вручную или стиль html, чтобы каждый новый тег заголовка также имел правило, но я хотел бы узнать, как это сделать с помощью только pandoc.

Моей текущая команда выглядит следующим образом:

pandoc *.md > output.html

Я попытался с помощью -A флага, но вставляет что-то после того, как все тело, в то время как я хочу, чтобы вставить правило между каждой уценкой документом.

Я понимаю, что это может быть невозможно (если pandoc конкатенатирует перед обработкой), и в этом случае я могу просто выполнить предварительную обработку/сжатие файлов с помощью другого скрипта.

Подводя итог, я хочу способ сделать

[01.md] 
<hr> 
[02.md] 
<hr> 
... 
[last.md] 

ответ

1

Это не совсем то, что я надеялся, но я понял, что я могу использовать gnu-sed просто добавить разделители к уценки документа перед конкатенации сделать pandoc вставьте теги <hr>.

Лишние символы новой строки, чтобы убедиться, что сепаратор на отдельной строке, а файл мД заканчивается с новой строки так pandoc работает правильно

sed -s '$a\\n----\n' *.md | pandoc -f markdown > output.html 

Решение от предыдущего superuser answer

Примечание: для OSX вам необходимо сделать brew install gnu-sed и использовать gsed вместо sed