Module: TocFilter
- Defined in:
- lib/jekylltask.rb
Instance Method Summary collapse
Instance Method Details
#toc(input) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/jekylltask.rb', line 76 def toc(input) input.scan(/<(h2)(?:>|\s+(.*?)>)([^<]*)<\/\1\s*>/mi).inject(%{<ol class="toc">}) { |toc, entry| id = entry[1][/^id=(['"])(.*)\1$/, 2] title = entry[2].gsub(/<(\w*).*?>(.*?)<\/\1\s*>/m, '\2').strip toc << %{<li><a href="##{id}">#{title}</a></li>} } << "</ol>" end |