import { censorFn } from 'pretty-text/censored-words'; function recurse(tokens, apply) { let i; for(i=0;i { if (token.content) { token.content = censor(token.content); } }); } export function setup(helper) { helper.registerOptions((opts, siteSettings) => { opts.watchedWordsRegularExpressions = siteSettings.watched_words_regular_expressions; }); helper.registerPlugin(md => { const words = md.options.discourse.censoredWords; if ((words && words.length > 0)) { const replacement = String.fromCharCode(9632); const censor = censorFn(words, replacement, md.options.discourse.watchedWordsRegularExpressions); md.core.ruler.push('censored', state => censorTree(state, censor)); } }); }