@x-govuk/govuk-eleventy-plugin
Version:
Write documentation using Markdown and publish it using GOV.UK styles
24 lines (18 loc) • 715 B
JavaScript
/**
* Render a GitHub-style alert
*
* @param {import('markdown-it')} md - markdown-it instance
*/
export function alertRules(md) {
const { rules } = md.renderer
rules.alert_open = function (tokens, idx) {
const { title, type } = tokens[idx].meta
const visuallyHiddenTitle = type.charAt(0).toUpperCase() + type.slice(1)
const hasCustomTitle = title !== visuallyHiddenTitle
let html = `<div class="govuk-inset-text app-inset-text--${type}">`
html += hasCustomTitle
? `<h3 class="govuk-heading-m"><span class="govuk-visually-hidden">${visuallyHiddenTitle}: </span>${title}</h3>`
: `<span class="govuk-visually-hidden">${visuallyHiddenTitle}: </span>`
return html
}
}