mirror of
https://github.com/olivierlacan/keep-a-changelog.git
synced 2025-07-31 01:34:18 +02:00
Output table of contents on top
This commit is contained in:
parent
032451db76
commit
5ac2bc826d
19
config.rb
19
config.rb
@ -116,8 +116,25 @@ set :markdown_engine, :redcarpet
|
|||||||
|
|
||||||
## Override default Redcarpet renderer in order to define a class
|
## Override default Redcarpet renderer in order to define a class
|
||||||
class CustomMarkdownRenderer < Redcarpet::Render::HTML
|
class CustomMarkdownRenderer < Redcarpet::Render::HTML
|
||||||
|
def doc_header
|
||||||
|
%Q[<nav role="navigation">#{@header}</nav>]
|
||||||
|
end
|
||||||
|
|
||||||
|
def preprocess(full_document)
|
||||||
|
version_regex = /Version \*\*\d.\d.\d\*\*/
|
||||||
|
top = full_document.split("<pre").first.split(version_regex).last
|
||||||
|
bottom = full_document.split("</pre>").last
|
||||||
|
|
||||||
|
@header = Redcarpet::Markdown.new(
|
||||||
|
Redcarpet::Render::HTML_TOC.new(nesting_level: 4),
|
||||||
|
{ with_toc_data: true }
|
||||||
|
).render(top + bottom).html_safe
|
||||||
|
|
||||||
|
full_document
|
||||||
|
end
|
||||||
|
|
||||||
def header(text, header_level)
|
def header(text, header_level)
|
||||||
slug = text.gsub(" ", "-").downcase
|
slug = text.parameterize
|
||||||
tag_name = "h#{header_level}"
|
tag_name = "h#{header_level}"
|
||||||
anchor_link = "<a id='#{slug}' class='anchor' href='##{slug}' aria-hidden='true'></a>"
|
anchor_link = "<a id='#{slug}' class='anchor' href='##{slug}' aria-hidden='true'></a>"
|
||||||
header_tag_open = "<#{tag_name} id='#{slug}'>"
|
header_tag_open = "<#{tag_name} id='#{slug}'>"
|
||||||
|
@ -53,8 +53,6 @@
|
|||||||
= link_to "help translate ", "https://github.com/olivierlacan/keep-a-changelog/issues"
|
= link_to "help translate ", "https://github.com/olivierlacan/keep-a-changelog/issues"
|
||||||
it.
|
it.
|
||||||
|
|
||||||
- content = Haml::Filters::Code.render(yield)
|
|
||||||
= Redcarpet::Markdown.new(Redcarpet::Render::HTML_TOC.new(nesting_level: 5), { with_toc_data: true }).render(content).html_safe
|
|
||||||
= yield
|
= yield
|
||||||
|
|
||||||
%footer.clearfix{role: "banner"}
|
%footer.clearfix{role: "banner"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user