JezK
Edit File: elements.rb
# frozen_string_literal: true require "set" module Loofah module Elements STRICT_BLOCK_LEVEL_HTML4 = Set.new %w[ address blockquote center dir div dl fieldset form h1 h2 h3 h4 h5 h6 hr isindex menu noframes noscript ol p pre table ul ] # https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements STRICT_BLOCK_LEVEL_HTML5 = Set.new %w[ address article aside blockquote canvas dd div dl dt fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hgroup hr li main nav noscript ol output p pre section table tfoot ul video ] # The following elements may also be considered block-level # elements since they may contain block-level elements LOOSE_BLOCK_LEVEL = Set.new %w[dd dt frameset li tbody td tfoot th thead tr ] # Elements that aren't block but should generate a newline in #to_text INLINE_LINE_BREAK = Set.new(["br"]) STRICT_BLOCK_LEVEL = STRICT_BLOCK_LEVEL_HTML4 + STRICT_BLOCK_LEVEL_HTML5 BLOCK_LEVEL = STRICT_BLOCK_LEVEL + LOOSE_BLOCK_LEVEL LINEBREAKERS = BLOCK_LEVEL + INLINE_LINE_BREAK end ::Loofah::MetaHelpers.add_downcased_set_members_to_all_set_constants ::Loofah::Elements end