diff options
Diffstat (limited to 'lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb')
-rw-r--r-- | lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb b/lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb new file mode 100644 index 00000000000..01ee3f5d9e8 --- /dev/null +++ b/lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Banzai + module Pipeline + module IncidentManagement + class TimelineEventPipeline < PlainMarkdownPipeline + ALLOWLIST = Banzai::Filter::SanitizationFilter::LIMITED.deep_dup.merge( + elements: %w(p b i strong em pre code a img) + ).freeze + + def self.filters + @filters ||= FilterArray[ + *super, + *Banzai::Pipeline::GfmPipeline.reference_filters, + Filter::EmojiFilter, + Filter::SanitizationFilter, + Filter::ExternalLinkFilter, + Filter::ImageLinkFilter + ] + end + + def self.transform_context(context) + Filter::AssetProxyFilter.transform_context(context).merge( + only_path: true, + no_sourcepos: true, + allowlist: ALLOWLIST, + link_replaces_image: true + ) + end + end + end + end +end |