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

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

---

LLMS index: [llms.txt](/llms.txt)

---

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

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

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

## Поля front matter {#front-matter-fields}

- `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 анонсу.

## Текст банера {#banner-text}

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

```markdown
[**Анонси на головній сторінці**][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;`, чого ми не хочемо.

## Поведінка рендерингу {#rendering-behavior}

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

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

- Hugo автоматично виключає прострочені сторінки на основі `expiryDate`.
- Сторінки сортуються за [стандартним порядком сторінок Hugo][default page order], який спочатку сортує за зростанням `weight`. Оскільки `weight` встановлено як ціле число дати закінчення у форматі `yyyymmdd` (див. вище), анонс, який закінчується найближчим часом, зʼявляється на верху.

[default page order]: https://gohugo.io/methods/page/regularpages/#default-sort-order
