1# frozen_string_literal: true 2 3module Banzai 4 module Filter 5 # Sanitize HTML produced by Markdown. Allows styling of links and usage of line breaks. 6 # 7 # Extends Banzai::Filter::BaseSanitizationFilter with specific rules. 8 class BroadcastMessageSanitizationFilter < Banzai::Filter::BaseSanitizationFilter 9 def customize_allowlist(allowlist) 10 allowlist[:elements].push('br') 11 12 allowlist[:attributes]['a'].push('class', 'style') 13 14 allowlist[:css] = { properties: %w(color border background padding margin text-decoration) } 15 16 allowlist 17 end 18 end 19 end 20end 21