Class: Qiita::Markdown::Transformers::FilterAttributes

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/markdown/transformers/filter_attributes.rb

Constant Summary collapse

FILTERS =
{
  "a" => {
    "class" => %w[autolink],
    "rel" => %w[footnote url],
    "rev" => %w[footnote],
    "id" => /\Afnref-.+\z/,
  },
  "blockquote" => {
    "class" => Embed::Tweet::CLASS_NAME,
  },
  "div" => {
    "class" => %w[footnotes],
  },
  "p" => {
    "class" => Embed::CodePen::CLASS_NAME,
  },
  "section" => {
    "class" => %w[footnotes],
  },
  "sup" => {
    "id" => /\Afnref\d+\z/,
  },
  "li" => {
    "id" => /\Afn.+\z/,
  },
}.freeze
DELIMITER =
" "

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ FilterAttributes

Returns a new instance of FilterAttributes.



40
41
42
# File 'lib/qiita/markdown/transformers/filter_attributes.rb', line 40

def initialize(env)
  @env = env
end

Class Method Details

.call(**args) ⇒ Object



36
37
38
# File 'lib/qiita/markdown/transformers/filter_attributes.rb', line 36

def self.call(**args)
  new(**args).transform
end

Instance Method Details

#transformObject



44
45
46
47
48
49
50
# File 'lib/qiita/markdown/transformers/filter_attributes.rb', line 44

def transform
  return unless FILTERS.key?(name)

  FILTERS[name].each_pair do |attr, pattern|
    filter_attribute(attr, pattern) if node.attributes.key?(attr)
  end
end