function max_asciidoc_header(level) return math.min(level, 6) end return { parse("bf", "**$1**"), parse("it", "__$1__"), parse("sp", "^$1^"), parse("sb", "~$1~"), s( "tt", fmt("{}{}{}", { c(1, { t("`"), t("`+") }), i(2, "TEXT"), rep(1), }) ), parse("foot", "footnote:[$1]"), s( "link", fmt("link:{}[{}]", { i(1, "LINK"), rep(1), }) ), parse("var", ":$1: $2"), parse("audio", "audio::$1[$2]"), parse("video", "video::$1[$2]"), s( "img", fmt( [[ .{} image::{}[{}, {}] {} ]], { i(1, "CAPTION"), i(2, "IMAGE_PATH"), i(3, "ALT_TEXT"), i(4, "width=100%,height=100%"), i(0), } ) ), s( "fmt", fmt("{}{}{}", { c(1, { t("**"), t("__"), t("`"), }), i(2), rep(1), }) ), s( "dt", fmt( [[ {}:: {} ]], { i(1, "TERM"), i(2, "DEFINITION"), } ) ), s( "src", fmt( [[ [source, {}] ---- {} ---- {} ]], { i(1, "LANGUAGE"), i(2, "CODE"), i(0), } ) ), s( { trig = "h(%d)", regTrig = true }, fmt( [[ {} {} {} {} ]], { f(function(_, snip) local level = max_asciidoc_header(snip.captures[1]) return string.rep("=", level) end), i(1, "CHAPTER"), d(2, function(_, snip) local nodes = {} table.insert(nodes, t("")) local level = max_asciidoc_header(snip.captures[1]) if level == 1 then table.insert(nodes, t(":toc:")) end local parent = c(1, nodes) if level > 1 then parent = t("") end return sn(nil, parent) end, {}), i(0), } ) ), s( "admon", fmt("{}: {}", { c(1, { t("NOTE"), t("TIP"), t("IMPORTANT"), t("CAUTION"), t("WARNING"), }), i(0), }) ), s( "admonB", fmt( [[ [{}] ==== {} ==== {} ]], { c(1, { t("NOTE"), t("TIP"), t("IMPORTANT"), t("CAUTION"), t("WARNING"), }), i(2, "BODY"), i(0), } ) ), }