Пытаясь использовать индивидуальный писатель урока для Pandoc, какие параметры командной строки нужно использовать?

Вопрос или проблема

Я следую уроку из документации, пример-измененного-маркерного-писателя

Я хочу протестировать это на следующем файле

input01.html

<body>
<h1>Мой Документ</h1>

<code>
Этот код будет распознан
</code>

</body>
custom-write01A.lua

function Writer (doc, opts)
  local filter = {
    CodeBlock = function (cb)
      -- модифицировать только если блок кода не имеет атрибутов
      if cb.attr == pandoc.Attr() then
        local delimited = '```\n' .. cb.text .. '\n```'
        return pandoc.RawBlock('markdown', delimited)
      end
    end
  }
  return pandoc.write(doc:walk(filter), 'gfm', opts)
end

Template = pandoc.template.default 'gfm'

Теперь я могу выполнить стандартную обработку markdown с помощью

pandoc -f html -t markdown input01.html

Или я могу использовать пользовательский писатель

pandoc -f html input01.html -L custom-writer01.lua

Что дает мне

<h1 id="my-document">Мой Документ</h1>
<p><code> Этот код будет распознан </code></p>

Я ожидал вывод в gfm

Ответ или решение

Чтобы использовать кастомный писатель в Pandoc, вам необходимо корректно указать опции командной строки (CLI). Давайте рассмотрим вашу задачу более подробно и разберемся, какие параметры следует применять.

Пошаговый процесс для использования кастомного писателя

  1. Проверка синтаксиса скрипта:
    Убедитесь, что ваш скрипт custom-write01A.lua правильно написан и сохраняет необходимую логику для обработки блоков кода. В вашем случае скрипт обрабатывает блоки кода без атрибутов, превращая их в формат GFM (GitHub Flavored Markdown) с использованием символов ``` .

  2. Форматирование входных и выходных данных:
    Ваша исходная HTML-документация (input01.html) содержит блоки кода. Чтобы правильно обработать этот файл и получить желаемый вывод в формате GFM, нужно задать соответствующие параметры в командной строке.

  3. Использование Pandoc для конвертации:

    Чтобы вызвать кастомный писатель, используйте следующую команду:

    pandoc -f html -t markdown -L custom-write01A.lua input01.html -o output.md

    В этом случае:

    • -f html указывает на то, что входной файл находится в формате HTML.
    • -t markdown указывает выходной формат – в данном случае это Markdown.
    • -L custom-write01A.lua активирует ваш кастомный писатель.
    • input01.html – это имя вашего входного файла.
    • -o output.md указывает имя выходного файла, в который будет сохранен результат.
  4. Проверка вывода:
    После выполнения команды вы должны получить файл output.md, который содержит ожидаемый вывод с отформатированным контентом. Убедитесь, что блоки кода правильно преобразованы в формат GFM, как вы и ожидали.

  5. Дополнительные опции:

    • Если вы хотите дополнительно настроить опции вывода или другие параметры, вы можете использовать такие флаги, как --standalone для создания полноценного документа или --template для указания на свой шаблон.

Заключение

Выполнение вышеуказанных шагов должно позволить вам успешно использовать кастомный писатель в Pandoc для обработки HTML-документа с преобразованием в формат GFM. Важно тщательно следить за синтаксисом вашего Lua-скрипта и правильно указывать все параметры в командной строке для получения ожидаемого результата. Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...