summaryrefslogtreecommitdiff
path: root/lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb')
-rw-r--r--lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb33
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