Added table of contents to wiki page.
This commit is contained in:
parent
d371839eba
commit
2660d86b89
6 changed files with 35 additions and 3 deletions
|
|
@ -1,7 +1,7 @@
|
|||
module PagesHelper
|
||||
|
||||
def wikified_body(body)
|
||||
r = RedCloth.new(body)
|
||||
r = RedCloth.new(generate_anchors(body))
|
||||
r.gsub!(/\[\[(.*?)(\|(.*?))?\]\]/) { wiki_link($1, $3) }
|
||||
sanitize r.to_html
|
||||
r.to_html
|
||||
|
|
@ -15,4 +15,25 @@ module PagesHelper
|
|||
link_to((link_text || wiki_words), wiki_page_url(permalink), :class => "new_wiki_link")
|
||||
end
|
||||
end
|
||||
|
||||
def generate_toc(body)
|
||||
toc = ""
|
||||
body.gsub(/^\s*h([1-6])\.\s+(.*)/) do
|
||||
number = $1
|
||||
name = $2
|
||||
header = name.downcase.gsub(' ', '-')
|
||||
toc << '#' * number.to_i + ' "' + name + '":#' + header + "\n"
|
||||
end
|
||||
RedCloth.new(toc).to_html
|
||||
end
|
||||
|
||||
def generate_anchors(body)
|
||||
body.gsub(/^\s*h([1-6])\.\s+(.*)/) do
|
||||
number = $1
|
||||
name = $2
|
||||
header = name.downcase.gsub(' ', '-')
|
||||
"\nh#{number}. #{name}<a name ='#{header}'> </a>"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue