Как я могу применить встроенные правила CSS к pandoc html для конвертации уценки? - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь преобразовать мою HTML-книгу (которая конвертируется из PDF) в формат уценки.Когда я попытался преобразовать HTML в уценку с помощью следующего кода, pandoc не применяет правила встроенной позиции HTML, такие как (относительные, абсолютные), к моему выводу уценки.

pandoc -f html -t markdown input.html -o output.md

Есть ли параметр для этой функции?

Я попытался извлечь встроенный HTML во внешний файл CSS с помощью программы и добавить параметр CSS в мою команду, но это не сработало.

pandoc -f html -t markdown --css=styles.css input.html -o output.md

1 Ответ

0 голосов
/ 18 сентября 2018

Это невозможно с Pandoc или Markdown.

Как объясняется в руководстве пользователя (выделение добавлено):

Поскольку промежуточное представление pandoc документаменее выразителен, чем многие форматы, между которыми он конвертируется, не следует ожидать идеальных конверсий между каждым форматом и любым другим.Pandoc пытается сохранить структурные элементы документа, , но не форматируя детали , такие как размер поля.И некоторые элементы документа, такие как сложные таблицы, могут не вписываться в простую модель документа pandoc.В то время как преобразования из Markdown компании pandoc во все форматы стремятся быть совершенными, преобразования из форматов, более выразительных, чем Markdown компании pandoc, могут быть с потерями.

Конечно, HTML (и PDF)) форматы "более выразительны", чем Markdown.Поэтому большая часть информации о форматировании теряется при использовании Pandoc для преобразования из этих форматов.

В качестве напоминания, документация Markdown объясняет, что (выделено в оригинале):

Уценка не является заменой HTML или даже близко к нему.Его синтаксис очень мал, соответствует только очень небольшому подмножеству тегов HTML.... HTML является издательским форматом;Уценка - это запись формат.Таким образом, синтаксис форматирования Markdown решает только проблемы, которые могут быть переданы в виде простого текста.

В таком случае Markdown не использует и не понимает CSS.Фактически, в Руководстве пользователя Pandoc флаг --css указан под Параметры, влияющие на конкретных авторов .Другими словами, это относится только к форматам вывода, которые понимают и могут использовать его.Кроме того, обратите внимание, что опция не генерирует файл CSS, а скорее указывает на файл, который был создан пользователем извне.Другими словами, его можно использовать при преобразовании в HTML (или EPUB и т. Д.), Чтобы указать на файл CSS, который определяет форматирование для этого вывода.Однако для выходных форматов, которые не понимают CSS (включая Markdown), этот параметр (предположительно) игнорируется.

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

...