Анонси на головній сторінці
Поля 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, який екранує параметри запиту&у&, чого ми не хочемо.
Поведінка рендерингу
- Шаблон банера на головній сторінці:
layouts/_partials/banner.html - Шорткод списку подій спільноти:
layouts/_shortcodes/community-events.md.
У обох випадках для рендерингу анонсів використовується .RegularPages:
- Hugo автоматично виключає прострочені сторінки на основі
expiryDate. - Сторінки сортуються за стандартним порядком сторінок Hugo, який спочатку сортує за зростанням
weight. Оскількиweightвстановлено як ціле число дати закінчення у форматіyyyymmdd(див. вище), анонс, який закінчується найближчим часом, зʼявляється на верху.