Как мы можем заставить pandoc создавать красивый, читаемый человеком HTML-код из уценки? - PullRequest
0 голосов
/ 22 октября 2019

Недавно я понял, что сделал неправильный выбор, написав свои заметки в Markdown. Вместо этого я хотел переключиться на HTML и разместить его на своем веб-сайте.

Я использовал pandoc для преобразования файла из html в уценку: pandoc file.md -o file.html

Но в этом, похоже, все не так (фрагмент изvim):

enter image description here Проблемы:

  1. Код не читается. Это было очень, очень читабельно в Markdown, но я не уверен, что случилось с кодами символов, которые появляются вместо того, что люди могут прочитать.
  2. Отступы странные. Я только что сделал отступ с обычным gg=G в vim, и кажется, что все теги <p> постепенно отступают все дальше и дальше вправо. Это ожидаемое поведение? Это, конечно, выглядит ужасно.
  3. Отдельные вещи в коде HTML нежелательны. Это, вероятно, наименее неприятно, так как вы можете легко заменить вещи на замену, но так как я планирую использовать призму для выделения кода, я бы хотел, чтобы такие вещи, как class="language-c++" вместо class="sourceCode cpp.

Вопрос: есть ли способ легко исправить этот беспорядок, или же Pandoc генерирует лучше в первую очередь? Есть ли замена, которая работает лучше, чем Pandoc? Есть ли вариант Пандока, который мне не хватает?

1 Ответ

3 голосов
/ 23 октября 2019

Под "кодами символов" я предполагаю, что вы имеете в виду &gt; и т.п. Это необходимо в HTML, поскольку символ < имеет особое значение. Без этих выходов у вас был бы недействительный HTML.

Отступ: pandoc не делает отступ в своем выводе HTML. Так что это результат того, что вы сделали в vim. Это не проблема pandoc.

Форматирование кода: по умолчанию pandoc вставляет классы и теги span для создания выделенного HTML-кода для блоков кода. Если вы не хотите этого (например, если вы хотите сделать свое собственное выделение с помощью некоторого кода JavaScript), то вы можете отключить его, используя --no-highlight. Вы все еще можете получить некоторые преобразования имен классов. Вы можете изменить их, используя простой фильтр lua: см. Документацию для фильтров lua .

...