18 lines
859 B
Typst
18 lines
859 B
Typst
#let meta-og(property: "", content: "") = {
|
|
// "property" attr is not supported by html.meta ?
|
|
html.elem("meta", attrs: (property: property, content: content))
|
|
}
|
|
|
|
#let site-wrapper = html.elem.with("site-wrapper")
|
|
#let site-container = html.elem.with("site-container")
|
|
/// Element used to group radio buttons for theme selection.
|
|
/// label is the aria-label, for accessibility (ie screen reader)
|
|
#let theme-picker(label: "Theme Picker", body) = {
|
|
// Role 'radiogroup' is needed because of bug in chromium with screenreaders (https://lyra.horse/blog/2025/08/you-dont-need-js/#fn:10)
|
|
html.elem("theme-picker", attrs: (aria-label: label, role: "radiogroup"), body)
|
|
}
|
|
#let code-block = html.elem.with("code-block")
|
|
#let icon-container(..args, body) = {
|
|
html.elem("icon-container", attrs: args.named(), body)
|
|
}
|
|
#let nav-menu = html.elem.with("nav-menu")
|