Tags

En/ Ru

Tags

Ограничение имён HTML-тегов по группам примитивов и безопасный выбор через ResolveTag.

github.com/fastygo/templ/utils

Ограничение имён HTML-тегов по группам примитивов и безопасный выбор через ResolveTag.

Обзор

Модуль tags ограничивает имена HTML-тегов для каждой группы примитивов.ResolveTag возвращает fallback, если запрошенный tag не разрешён.

Сценарии использования

    Block и Box безопасно выбирают landmark-теги

    Text и Title безопасно выбирают семантические prose-теги

Семантика

    TagGroup — перечисление int в том же Go-пакете

    ResolveTag приводит запрошенный tag к нижнему регистру и обрезает пробелы

    Недопустимые tag никогда не попадают в разметку; fallback всегда побеждает

Пример resolve.layout

tag := uiutils.ResolveTag("main", "div", uiutils.TagGroupLayout)
// tag == "main"

tag := uiutils.ResolveTag("table", "div", uiutils.TagGroupLayout)
// tag == "div"

API

TagGroup · тип — Набор разрешённых семантических тегов

ResolveTag · function — Возвращает tag или fallback, если tag не разрешён

IsAllowedTag · function — Проверяет, входит ли tag в группу

TagGroupLayout · константа — div, section, article, aside, header, footer, main, nav, figure — Block, Box

TagGroupStack · константа — layout-теги, ul, ol — Stack

TagGroupGroup · константа — layout-теги, fieldset — Group

TagGroupList · константа — ul, ol, dl, menu — List

TagGroupText · константа — p, span, small, code, blockquote, em, strong, time, cite, abbr, mark, address, pre, figcaption — Text

TagGroupContainer · константа — div, main, section — Container

TagGroupHeading · константа — h1–h6 — Title