Нужно ли мне генерировать css-файл из Pygments для моего блога jekyll, чтобы включить красочный фрагмент кода? - PullRequest
13 голосов
/ 11 марта 2012

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

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

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

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

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

Ответы [ 2 ]

28 голосов
/ 21 февраля 2013

Да, вам нужно либо установить, либо создать классы 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, чтобы заставить Pygments работать.(Или запустите jekyll с jekyll --pygments, который имеет тот же эффект.)

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

5 голосов
/ 11 марта 2012

Вам необходимо включить синтаксис.css

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

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

...