Анонси на головній сторінці

Поля front matter та поведінка рендерингу для сторінок анонсів на головній сторінці.

Використовуйте content/<lang>/announcements/*.md для анонсів на головній сторінці.

Ця сторінка є джерелом істини для значень полів сторінки анонсів та того, як сайт рендерить анонси.

Спільні параметри анонсів встановлюються в content/en/announcements/_index.md через cascade, який спільно використовується для всіх локалей. Локалі, відмінні від en, не повинні дублювати каскадні параметри.

Поля front matter

  • title: заголовок анонсу, який використовується в тексті анонсу.
  • linkTitle: необовʼязковий короткий заголовок, який використовується на сторінці індексу анонсів.
  • date: дата, з якої анонс повинен почати відображатися.
  • expiryDate: дата, після якої анонс більше не повинен відображатися.
    • Встановіть це на дату закінчення події, наприклад, 2026-06-06.
    • Якщо анонс може бути використаний у майбутньому, додайте до цього рядка # keep, щоб запобігти видаленню файлу анонсу.
  • weight: обовʼязкове. Встановіть це на дату закінчення події у вигляді цілого числа yyyymmdd, наприклад, 20260606. Анонси відображаються у порядку зростання weight, тому анонс, який закінчується найближчим часом, зʼявляється першим.
  • params:
    • eventUrl: базовий URL події, який використовується у посиланнях на сторінці. Для подій Linux Foundation це часто має форму https://events.linuxfoundation.org/event-name/.
    • utmParam: параметри UTM, додані до URL подій. Встановлюється на сторінці індексу розділу (content/en/announcements/_index.md), тому вам не потрібно визначати це, якщо ви не хочете його перевизначити.
    • blogPostURL: необовʼязковий URL блогу сайту для посилання CTA анонсу.

Текст банера має бути коротким і лаконічним. Типовий шаблон основного тексту виглядає так:

[**Анонси на головній сторінці**][LF], **<span class="text-nowrap">23–26 березня,</span> Амстердам**. <span class="d-none d-md-inline"><br>
</span> Приєднуйтесь до спільноти Cloud Native,<span class="d-none d-sm-inline"> [вчіться та діліться досвідом][blog]</span>!

[blog]: <{{% param blogPostURL %}}>
[LF]: <{{% param eventUrl %}}register/?{{% _param utmParam %}}>

Примітки щодо дизайну:

  • Ми використовуємо класи, такі як d-none та d-*-inline, щоб контролювати видимість тексту банера залежно від розміру екрану. Це дозволяє зробити текст банера більш компактним на менших екранах.
  • Ми використовуємо _param для доступу до utmParam, оскільки він вважає значення безпечним, на відміну від param, який екранує параметри запиту & у &amp;, чого ми не хочемо.

Поведінка рендерингу

  • Шаблон банера на головній сторінці: layouts/_partials/banner.html
  • Шорткод списку подій спільноти: layouts/_shortcodes/community-events.md.

У обох випадках для рендерингу анонсів використовується .RegularPages:

  • Hugo автоматично виключає прострочені сторінки на основі expiryDate.
  • Сторінки сортуються за стандартним порядком сторінок Hugo, який спочатку сортує за зростанням weight. Оскільки weight встановлено як ціле число дати закінчення у форматі yyyymmdd (див. вище), анонс, який закінчується найближчим часом, зʼявляється на верху.
Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (cf1a5745)