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],
  },
  "blockquote" => {
    "class" => Embed::Tweet::CLASS_NAME,
  },
  "div" => {
    "class" => %w[footnotes],
  },
  "p" => {
    "class" => Embed::CodePen::CLASS_NAME,
  },
  "sup" => {
    "id" => /\Afnref\d+\z/,
  },
  "li" => {
    "id" => /\Afn\d+\z/,
  },
}.freeze
DELIMITER =
" ".freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ FilterAttributes

Returns a new instance of FilterAttributes.



34
35
36
# File 'lib/qiita/markdown/transformers/filter_attributes.rb', line 34

def initialize(env)
  @env = env
end

Class Method Details

.call(*args) ⇒ Object



30
31
32
# File 'lib/qiita/markdown/transformers/filter_attributes.rb', line 30

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

Instance Method Details

#transformObject



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

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