Module: Html2rss::AutoSource::Segmenter::Semantic
- Defined in:
- lib/html2rss/auto_source/segmenter/semantic.rb
Overview
Collects leaf semantic containers (port of Discovery::SemanticContainers).
Constant Summary collapse
- CANDIDATE_NAMES =
Tag names collected as leaf semantic containers.
%i[article section li tr div].to_set.freeze
Class Method Summary collapse
Class Method Details
.call(segmenter) ⇒ Array<Segment>
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/html2rss/auto_source/segmenter/semantic.rb', line 17 def call(segmenter) containers = collect_containers(segmenter.index) primary = PrimaryLink.new(segmenter) containers.each_with_index.filter_map do |container, position| link = primary.select(container) next unless link || segmenter.permit_unanchored Segment.build(root_node: container, primary_link: link, strategy: :semantic, position:) end end |