Нужно ли создавать файл CSS из Pygments для моего блога jekyll, чтобы включить красочный фрагмент кода?

Я впервые использую Jekyll и Pygments. Но я не знаю, как вставить красочный фрагмент кода.

Я успешно установил Pygments, следуя официальным инструкциям, с такой уценкой:

{% highlight ruby %}
def foo
  puts 'foo'
end
{% endhighlight %}

Я вижу исходный код HTML, включая классы, однако для этого фрагмента нет цвета.

Нужно ли создавать некоторые CSS-файлы из Pygments и включать их? И как?

2 ответа

Решение

Вам нужно включить синтаксис.css

Вы можете взять образец из моего репо https://github.com/madhur/madhur.github.com/blob/master/files/css/syntax.css

а затем настроить его в соответствии с вашей темой. Мой настроен для темного фона.

Да, вам нужно либо установить, либо создать классы CSS, чтобы подсветка кода работала. После установки Pygments это можно сделать, запустив в командной строке следующее:

pygmentize -S default -f html > pygments.css

Это создаст pygments.css файл по умолчанию в вашем текущем каталоге; pygments -L style перечислит все доступные стили.

Вы можете переместить это в свое HTML-дерево и вызвать его с соответствующим:

<link rel="stylesheet" type="text/css" href="/path/to/pygments.css">

Или скопируйте содержимое pygments.css и поместите его в существующую таблицу стилей. Это поможет вам начать. Вы можете редактировать CSS оттуда, чтобы настроить в зависимости от обстоятельств.


Две заметки:

  1. Вы, вероятно, уже сделали это, но для пользы людей, которые плохо знакомы с Jekyll и Pygments, вам, вероятно, также придется добавить pygments: true на ваш _config.yml файл, чтобы получить работающие фрагменты. (Или запустить Джекилл с jekyll --pygments который имеет тот же эффект.)

  2. Оригинальная документация по установке Jekyll не была очень ясной о том, как заставить Pygments работать, когда был задан этот вопрос. С тех пор я добавил раздел "Использование фрагментов", чтобы, надеюсь, помочь в этом.

Другие вопросы по тегам