Files
gitlabhq/lib/banzai/pipeline/single_line_markdown_pipeline.rb
2025-04-14 09:12:26 +00:00

47 lines
1.6 KiB
Ruby

# frozen_string_literal: true
module Banzai
module Pipeline
# Does the same transformation as SingleLinePipeline, but runs
# it through the MarkdownFilter first
class SingleLineMarkdownPipeline < SingleLinePipeline
def self.filters
@filters ||= FilterArray[
Filter::MarkdownFilter,
Filter::ConvertTextToDocFilter,
Filter::MinimumMarkdownSanitizationFilter,
Filter::SanitizeLinkFilter,
Filter::AssetProxyFilter,
Filter::EmojiFilter,
Filter::CustomEmojiFilter,
Filter::ExternalLinkFilter,
*reference_filters
]
end
# UserReferenceFilter is intentionally excluded to prevent generating
# a notification. This pipeline is mostly for titles.
def self.reference_filters
[
Filter::References::UserReferenceFilter,
Filter::References::IssueReferenceFilter,
Filter::References::WorkItemReferenceFilter,
Filter::References::ExternalIssueReferenceFilter,
Filter::References::MergeRequestReferenceFilter,
Filter::References::SnippetReferenceFilter,
Filter::References::CommitRangeReferenceFilter,
Filter::References::CommitReferenceFilter,
Filter::References::AlertReferenceFilter,
Filter::References::FeatureFlagReferenceFilter
]
end
def self.transform_context(context)
super.merge(minimum_markdown: true)
end
end
end
end
Banzai::Pipeline::SingleLinePipeline.prepend_mod_with('Banzai::Pipeline::SingleLineMarkdownPipeline')