Class: Qiita::Markdown::Transformers::FilterScript
- Inherits:
-
Object
- Object
- Qiita::Markdown::Transformers::FilterScript
- Defined in:
- lib/qiita/markdown/transformers/filter_script.rb
Constant Summary collapse
- URL_WHITE_LIST =
[ Embed::CodePen::SCRIPT_URLS, Embed::Tweet::SCRIPT_URL, Embed::SpeekerDeck::SCRIPT_URLS, Embed::Docswell::SCRIPT_URLS, ].flatten.freeze
- HOST_WHITE_LIST =
[ Embed::Asciinema::SCRIPT_HOST, ].flatten.freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(env) ⇒ FilterScript
constructor
A new instance of FilterScript.
- #transform ⇒ Object
Constructor Details
#initialize(env) ⇒ FilterScript
Returns a new instance of FilterScript.
20 21 22 |
# File 'lib/qiita/markdown/transformers/filter_script.rb', line 20 def initialize(env) @env = env end |
Class Method Details
.call(**args) ⇒ Object
16 17 18 |
# File 'lib/qiita/markdown/transformers/filter_script.rb', line 16 def self.call(**args) new(**args).transform end |
Instance Method Details
#transform ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/qiita/markdown/transformers/filter_script.rb', line 24 def transform if name == "script" if URL_WHITE_LIST.include?(node["src"]) || HOST_WHITE_LIST.include?(host_of(node["src"])) node["async"] = "async" unless node.attributes.key?("async") node.children.unlink else node.unlink end end end |