Tree


README.mdcommits | blame
config/
go.modcommits | blame
i18n/
layouts/
postcss.config.mjscommits | blame

README.md

# Набор шаблонов для сайтов Hugo от Radium

## Подключение темы на сайте
Настройте [слияние](https://gohugo.io/configuration/introduction/#merge-configuration-settings) конфигурации в hugo.toml, указав:

```toml
_merge = 'deep'
```

## Параметры
Все используемые параметры должны содержаться в настройках сайта в .Params.radium

publisher
: ссылка на профиль публикатора для элементов JSON-LD.
external_rel
: rel по умолчанию для абсолютных ссылок.

## render hooks
### render-link
Вставляет ссылку с разрешённым назначением ссылки.
Для абсолютных ссылок указывает rel из настроек сайта или значение по умолчанию `noopener noreferrer external`.

### render-blockquote
[Вставляет](https://gohugo.io/render-hooks/blockquotes/) блок цитаты с указанием источника и заголовка, а также блок alert.

## Шаблоны
### baseof
Базовый шаблон, включающий индексирование Pagefind только для main тега.
Для тега html устанавливается язык и направление, если оно явно прописано в настройках языка.
В шаблоне подключаются partial head, header, footer.
Блок main должен быть переопределён в отдельных шаблонах.
Блок head может быть переопределён в отдельных шаблонах, если требуется добавить что-то в тэг head.

## Partials

### element
Создаёт HTML элемент, с именем тэга = .tag, атрибутами = .attributes, содержимым .inner.

Если тэг не установлен, то проставляется значение по умолчанию `tag`.

### image
Отображает изображение, передаваемое в .image.
.image должен быть ресурсом, полученным через .Resources.Get* или resources.Get*.

Для SVG изображений производит сжатие, а для всех остальных указывает ширину и высоту.

Если установлен .alt, то устанавливает атрибут alt.

### logo
Отображает логотип со ссылкой.

Параметры:

- image - имя ресурса сайта с логотипом (img/logo.svg)
- class - класс ссылки, содержащей логотип (logo)
- link - ссылка, которая будет указана для логотипа (главная страница с учётом языка)
- alt - атрибут alt изображения (Logo image)

### head/favicon, head/apple-touch-icon
Связывают страницу с имеющимися favicon или apple-touch-icon.
Для поиска favicon применяется маска {,**/}favicon.*, а для apple-touch-icon - {,**/}apple-touch-icon*.png

### head/manifest
Связывает страницу с manifest.json, находящимся в корне assets/

### head/css
Подключает css/main.css

### head/js
Подключает js/main.js

### head/pagefind
Подключение стилей и скрипта, если окружение не является разработкой.

### head/alternate
Указывает link alternate для других языков и форматом страницы.

### head/base
Добавляет title, description и canonical в заголовок, а также meta charset + viewport.

### schema
Подключает JSON-LD схемы для связанных объектов.

Принимает в контексте либо страницу, либо dict с ключами page и schema.
Схема - это строка или массив строк.

Подключение в head:
```go-html-template
{{- partial "schema/json-ld.html" . | safeHTML }}
```
или
```go-html-template
{{- partial "schema/json-ld.html" (dict "page" . "schema" "BreadcrumbList") | safeHTML }}
```

Если в Page Bundle есть файл <тип>.jsonld (например, Person.jsonld), он будет добавлен в список schema.

Если по итогу для страницы список schema будет пустым, то будет отрендерен [встроенный](https://gohugo.io/templates/embedded/#schema) шаблон.

#### Статья
Для указания publisher в статье укажите publisher в Params страницы, либо в настройках сайта.

## Shortcodes
### include
Позволяет [вставить](https://gohugo.io/render-hooks/blockquotes/#pageinner-details) другой markdown файл в текущий.
Полезно при разделении частей страницы на несколько файлов.

### details
Корректный details, позволяющий рендерить html.

Аналогично [стандартному](https://gohugo.io/shortcodes/details/#article) shortcode, за исключением способа вызова — необходимо использовать вызов {{% details %}} для рендера внутреннего текста в качестве Markdown.

### a
Создаёт ссылку с атрибутами href, class, id, rel.

Полезно для установки rel.

Вызывает partial/element.
Если необходимы другие атрибуты, то переопределите этот shortcode.

### section
Создаёт секцию с атрибутами class, id.

Поддерживает стандартную и markdown нотацию вызова.

### video
Вставляет видео.

Поддерживает параметры:
- class
- poster
- loading
- height
- width
- src
- tabindex
- area-hidden

В тэг вставляются следующие параметры, только если в атрибутах не передан false:
- autoplay
- loop
- muted
- playsinline
- disablepictureinpicture
- disableremoteplayback

Если передать параметр controls с любым значением, кроме false, то будет вставлен этот атрибут.

```md
{{< video tabindex="-1" area-hidden="true" poster="https://peach.blender.org/wp-content/uploads/title_anouncement.jpg?x11217">}}
{{< source codecs="avc1.4d002a">}}
https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4
{{< /source >}}
{{< /video >}}
```

### source
Вставляет source для тэга video.
Ссылку можно вставить параметром src или передав внутри тэга.

Поддерживается вставка параметров:
- srcset
- sizes
- media
- width
- height
- type

Если type не задан, то тип будет определён автоматически.

При указании параметра codecs, он будет вставлен в type.