Pandoc: преобразование уценки в HTML, подсветка синтаксиса

Я конвертирую уценку в HTML и хочу включить код с подсветкой синтаксиса.

Я работаю с некоторой уценкой, которая содержит такой синтаксис, как:

  ~~~ {.c}
  long factorial (int n)
  {
    long result = 1;
    while (n > 1)
      result *= n--;
    return result;
  }
  ~~~

но я не знаю, какое расширение подсветки синтаксиса использовалось для обработки этого синтаксиса. Какое хорошее расширение?


person Rose Perrone    schedule 07.09.2012    source источник
comment
Pandoc автоматически подсвечивает синтаксис. Вам не нужно внешнее расширение. Просто не забудьте использовать флаг -s, чтобы получить отдельный HTML-файл с CSS, необходимым для выделения. Вы также можете использовать опцию --highlight-style для настройки цветовой схемы. Примечание. В этих комментариях предполагается, что вы используете последнюю версию pandoc, 1.9.4.2.   -  person John MacFarlane    schedule 07.09.2012
comment
Спасибо, вы знаете, почему папка $HOME/.pandoc не была создана автоматически? Когда я пытаюсь использовать любой вариант, я получаю сообщение об ошибке pandoc: slidy: openFile: does not exist.   -  person Rose Perrone    schedule 07.09.2012
comment
$HOME/.pandoc не создается автоматически. Вы можете добавить его, если хотите, но для нормальной работы он не нужен. Какую команду вы использовали, чтобы получить сообщение об ошибке, которое вы цитируете?   -  person John MacFarlane    schedule 08.09.2012
comment
Когда я добавляю параметр -s, я получаю следующее сообщение об ошибке: pandoc -m -t -s slidy 7-functional-design.md -o 7-functional-design.hpart. Я получаю такое же сообщение об ошибке, если пытаюсь вместо этого добавить --highlight-style=haddock.   -  person Rose Perrone    schedule 08.09.2012
comment
Вы хотите -s -t slidy вместо -t -s slidy. slidy является аргументом для опции -t и должен идти сразу после нее.   -  person John MacFarlane    schedule 09.09.2012
comment
Спасибо, но я обнаружил, что это нарушило форматирование (слова будут зависать над маркерами. Кроме того, есть ли способ указать подсветку синтаксиса для разных языков?   -  person Rose Perrone    schedule 09.09.2012
comment
Подсветка синтаксиса, указанная в командной строке при использовании pandoc, служит переключателем включения/выключения. Не путайте с подсветкой синтаксиса для разных языков. Чтобы настроить подсветку синтаксиса для другого языка, напишите название языка в своем файле примерно так: ~~~~ruby   -  person AZ.    schedule 16.03.2013


Ответы (1)


Ответьте из комментариев, отредактируйте, прежде чем давать отрицательный рейтинг.

Решение

Pandoc автоматически подсвечивает синтаксис. Вам не нужно внешнее расширение.

Просто не забудьте использовать флаг -s, чтобы получить отдельный HTML-файл с CSS, необходимым для выделения. Вы также можете использовать опцию --highlight-style для настройки цветовой схемы.

Примечание. Эти комментарии предполагают, что вы используете последнюю версию pandoc, 1.9.4.2.

Когда я добавляю параметр -s, я получаю следующее сообщение об ошибке: pandoc -m -t -s slidy 7-functional-design.md -o 7-functional-design.hpart. Я получаю такое же сообщение об ошибке, если пытаюсь вместо этого добавить --highlight-style=haddock.

Вы хотите -s -t slidy вместо -t -s slidy.

slidy является аргументом для опции -t и должен идти сразу после нее.

person Nicolás Alarcón Rapela    schedule 16.06.2018