У меня есть набор md
документов, написанных группой людей. Каждый файл md
является характеристикой/описанием объекта и имеет идентичную структуру (разделы, каждая секция с одинаковым названием). Вы можете думать об этом как о форме, написанной в Markdown.Извлечь уценку структуры документа (с pandoc?)
Каждый файл выглядит примерно так:
# Object "foobar"
## Color
The object is red with pink dots.
## Shape
Square-like
## Texture
Smooth like a glass.
и, скажем, snafoo.md
:
# Object "snafoo"
## Color
The object is green with black stripes.
## Shape
Ball-like
## Texture
Rough. A bit like sandpaper.
и так далее ...
Я хотел бы автоматически "сливать" эти файлы так что содержимое совпадающих разделов конкатенируется. На основе этих двух файлов выше я хотел бы получить выход вроде:
# Color
The object is red with pink dots.
The object is green with black stripes.
# Shape
Square-like
Ball-like
# Texture
Smooth like a glass.
Rough. A bit like sandpaper.
То, что я нашел, чтобы быть полезным является использование pandoc
для преобразования md
файл в формате docbook
, который, по существу, формат XML-подобный поэтому легко разобрать его и получить структуру с использованием существующих инструментов XML. Выход OPML тоже кажется хорошим кандидатом.
Я думаю, что либо docbook, либо OPML были бы приемлемыми. Я бы написал сценарий, который объединяет соответствующие разделы (добавляет их содержимое из разных документов).
Однако pandoc
переводит все специальные символы в HTML-коды, такие как "
, &
и так далее. Я хотел бы иметь возможность извлекать, скажем, определенные подразделы в иерархии, но иметь текст (например, тело подраздела) точно так же, как в исходном файле md
. Как бы вы конвертировали HTML-коды ("
и т. Д.) Обратно в ASCII, чтобы все можно было преобразовать в PDF/DOC/... с pandoc
?
В каждом XML , который имеет вложенные теги, некоторые символы (особенно '>' и '<') должны быть экранированы. Может быть, вы должны рассказать нам больше о вашем случае использования ... – mb21
Я немного разработал и добавил пример. –