summaryrefslogtreecommitdiff
path: root/docs/modules/extend/examples/pdf-converter-table-role.rb
blob: 042aa8c399ff6aea5dc33963875f5d345a1b963b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class PDFConverterTableRole < (Asciidoctor::Converter.for 'pdf')
  register_for 'pdf'

  def convert_table node
    return super unless node.role?
    key_prefix = %(role_<table>_#{node.roles[0]}_)
    role_entries = theme.each_pair.select {|name, val| name.to_s.start_with? key_prefix }
    return super if role_entries.empty?
    save_theme do
      role_entries.each do |name, val|
        theme[%(table_#{name.to_s.delete_prefix key_prefix})] = val
      end
      super
    end
  end
end