extract-header-ids 515 B

12345678910111213141516171819202122232425
  1. #!/usr/bin/env ruby
  2. # https://cirosantilli.com/linux-kernel-module-cheat#asciidoctor-extract-header-ids
  3. require 'asciidoctor'
  4. require 'asciidoctor/extensions'
  5. class Main < Asciidoctor::Extensions::TreeProcessor
  6. def process document
  7. return unless document.blocks?
  8. (document.find_by context: :section).each do |section|
  9. if section.id
  10. puts section.id
  11. end
  12. end
  13. nil
  14. end
  15. end
  16. Asciidoctor::Extensions.register do
  17. treeprocessor Main
  18. end
  19. (Asciidoctor.load_file(ARGV[0])).convert