Вставка одного документа уценки в другой

Есть ли способ вставить один снимок (или его суб-ароматы - я использую PanDoc) в другой, за исключением использования jQuery().load(url)?

Я хотел бы иметь документ, который имеет, например. main.md, chapter1.md, chapter2.md с main.md погрузочной chapter1.md и chapter2.md автоматически.

main.md будет содержать текст между двумя главами, например

main.md:

Some opening text...
...
[chapter1.md]

Some additional text...
...
[chapter2.md]
...
something else.

Поэтому я не могу использовать подход cat *.md > final.md

Ответ 1

Markdown сам по себе не имеет обозначений для включения файлов, которые скорее завинчивают их.

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

Однако вы можете добиться этого, выполнив предварительный процесс, используя perl *. Я предполагаю, что каждый из них относится к отдельной строке формы, показанной выше.

perl -ne 's/^\[(.+)\].*/'cat $1'/e;print' main.md > final.md

* Мне не нравится прибегать к perl, но sed не имеет возможности читать из файла, используя шаблон соответствия, чтобы определить имя.

Ответ 2

Если вы не хотите, чтобы подглавные строки были встроены, вы можете просто вставить ссылки в основную главу. Таким образом, вам не нужен шаг предварительной обработки.

Как написал Оливер Мэтьюз, вы можете написать свой собственный шаг предварительной обработки с помощью perl.

Или вы можете использовать существующий препроцессор, например m4 или cpp (C PreProcessor), который позволяет включать файлы. cpp вероятно, не очень хорошо справляется с разделами кода C в документах. Особенно, когда в них есть больше директив.

В Интернете есть также программные цепочки, которые объединяют отдельные документы mardown в нечто большее. К сожалению, у меня есть проблемы с доступом к резервному копированию моих закладок.

И вот аналогичный вопрос, с ответами: Markdown и включение нескольких файлов, хотя ответы не объясняют, как вставлять подглавные строки между другим текстом.