···472472 OPEN('align', {align: a})
473473 } break; case '\\spoiler': case '\\h': {
474474 let [label="spoiler"] = rargs
475475- OPEN('spoiler', {label})
475475+ let cw = /\bcw\b|🔞/i.test(label)
476476+ OPEN('spoiler', {label, cw})
476477 } break; case '\\ruby': {
477478 let [txt="true"] = rargs
478479 OPEN('ruby', {text: txt})
+3-1
render.js
···315315 return e.firstChild
316316 }.bind(𐀶`<ruby><span></span><rt>`), // I don't think we need <rp> since we're rendering for modern browsers...
317317318318- spoiler: function({label}) {
318318+ spoiler: function({label, cw}) {
319319 let e = this()
320320+ if (cw)
321321+ e.classList.add('M-content-warning')
320322 e.firstChild.textContent = label//.replace(/_/g, " ")
321323 //todo: [12y1] maybe replace all underscores in args with spaces, during parsing?
322324 return e.lastChild