Почему Хьюго генерирует разные HTML-коды, связанные с таксономией, в разных ОС?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Почему Хьюго генерирует разные HTML-коды, связанные с таксономией, в разных ОС?

Сообщение Anonymous »

Я изменил тему Ananke для Hugo для своих целей, изменения находятся здесь.
Ключевое изменение заключалось в том, что мне нужен был список тегов, на которые можно ссылаться (которые в теме уже добавлены). внизу каждого сообщения), чтобы он также отображался вверху страницы /tags/ (а также делайте то же самое для категорий и других таксономий). Кроме того, я хотел, чтобы в каждом пузырьке тегов отображалось количество подходящих сообщений.
Итак, я поместил этот код в шаблон /layouts/_default/terms.html :

Код: Выделить всё

 {{ $taxonomyObject := cond (eq .Data.Plural "tags") .Site.Taxonomies.tags .Site.Taxonomies.categories }}

{{ .Content }}
[list]
{{ range .Data.Pages }}
[*]
[url={{  .Page.RelPermalink }}]
{{- .Page.Title -}} [b] {{ $taxonomyObject.Count .Page.Title }}[/b]
[/url]

{{ end }}
[/list]

(позже я смогу добавить проверки для таксономий, отличных от тегов и категорий)
Я также изменил категорию exampleSite, чтобы добавить некоторые теги и категории. Однако, в отличие от того, что показано в большинстве примеров и руководств, я не задавал для всех значений, состоящих из одного слова, строчными буквами (если бы я это сделал, я бы не заметил этой проблемы).
Вот как выглядит результат на macOS (Sonoma 14.4.1, Intel, go v1.22.1, Hugo v0.124.1):
Изображение
[img]https://i.stack.imgur. com/e1r9P.jpg[/img]

А вот что Hugo генерирует из того же источника в Linux (Alpine 3.18, x86_64, go v1.20.11, Hugo v0.111.3)
Изображение
< img alt="Categories-Linux" src="Изображение" />
Как видите, различия заключаются в следующем:
  • В Linux заголовки таксономии отображаются точно так же, как в исходном коде — с заглавной буквы, только если источник написан с заглавной буквы. MacOS применяет правила капитализации «Название книги» (слова, кроме , , и т. д., пишутся с заглавной буквы).
  • Если таксономия если заголовок написан с заглавной буквы или содержит пробел, то в Linux значение равно 0.
Я считаю последнее более серьезной проблемой, чем первое, но оно было бы неплохо, если бы все поведение было одинаковым в разных ОС.
Часть найденного мной решения включает изменение записи шаблона следующим образом:

Код: Выделить всё

[*]
{{ $normalizedTerm := replace (lower .Page.Title) " " "-" }}
[url={{  .Page.RelPermalink }}]
{{- .Page.Title -}} [b] {{ $taxonomyObject.Count $normalizedTerm }}[/b]
[/url]

Однако, если я просто изменю это значение, счетчик будет неверным в macOS.
Так почему же это происходит? такое случается, и как мне добиться единообразного создания сайтов независимо от того, в какой ОС я это делаю? Я не вижу способа определить тип ОС внутри шаблона в документации Hugo (некоторые соответствующие функции есть здесь и здесь. И даже если бы это было возможно, это вряд ли идеальное решение:
< ul>
[*]это может быть связано с разными версиями Hugo
[*]это может быть связано с дистрибутивом/версией Linux, который я использую

Хотя одно очевидное отличие состоит в том, что файловая система Linux чувствительна к регистру, это не так просто, поскольку все файлы, которые создает Хьюго, в обеих системах пишутся строчными буквами без пробелов. HTML из одного и того же кода, в зависимости от ОС.
Итак, два вопроса:
  • Почему? li>
    Что мне изменить, чтобы получить тот же HTML?


Подробнее здесь: https://stackoverflow.com/questions/782 ... ferent-oss
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»