7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/arrolio/toc_builder.rb', line 7
def build_flowables(context, layout_spec, rules: {})
styles = rules.fetch('styles', {})
entries = context.heading_entries
entries.map do |entry|
number = entry[:number]
title = entry[:title].to_s
label = number ? "#{number} #{title}" : title
style_id = style_id_for(entry[:level], styles)
style = layout_spec.resolve_style(style_id)
Flowables::TocLineFlowable.new(
label,
entry[:page_number],
level: entry[:level] || 1,
style: style
)
end
end
|