Как использовать длинные имена классов в Hugo/Pygments

Я использую параметр pygmentsUseClasses=true на сервере Hugo, но получаю короткие имена классов, такие как k вместо keyword.

Что я хочу;

<span class="token keyword">const</span>

Что я имею ;

<span class="k">const</span>

Чего не хватает?


person Hedifi Agmad    schedule 11.09.2019    source источник


Ответы (1)


Я просто блуждал по несвязанному поиску, но если у кого-то еще есть этот вопрос (подтверждено 19 января 2020 г., но Хьюго - движущаяся цель):

  1. k является именем класса. Без включенных классов вы получаете встроенные стили в выводе HTML. Пример: <span style="color:#66d9ef">const</span>
  2. Hugo использует Chroma вместо Pygments для подсветка синтаксиса сейчас, что, безусловно, означает, что в конечном итоге pygmentsUseClasses не будет распознан. текущая задокументированная конфигурация: markup.highlight.noClasses:

    [markup.highlight]
    noClasses = false # instead of pygmentsUseClasses = true
    
  3. (фактический ответ на фактический вопрос) Я не вижу конфигурации Hugo для создания длинных имен классов в выводе HTML.

Некоторые внешние помощники используют собственные маркеры. Они могут создавать длинные имена файлов, хотя это зависит от помощника. Например, мой контент RST приводит к длинным именам классов, а мой контент AsciiDoc — нет. Если вам абсолютно необходимы длинные имена классов, попробуйте внешний помощник.

Внимание! внешние помощники влияют на время сборки. И, как и все непрофильное поведение, существует риск устаревания в будущих выпусках Hugo.

person Brian Wisti    schedule 19.01.2020