因此,我使用 Rdiscount 设置了 sinatra,以呈现具有 HAML 布局的 Markdown 文件。这一切都有效,但我希望 RDiscount 根据我的 haml 文件中的标题生成目录。我试过在 sinatra 配置中设置它。
set :markdown, :generate_toc => true
但这似乎行不通。
当我像这样渲染 Markdown 时,我也尝试过这样做:
markdown :PAGENAMEHERE, :layout => :'layouts/PAGENAMEHERE', :generate_toc => true
这也行不通。
这可能吗?如果是,我做错了什么?
最佳答案
虽然@three 的回答对我帮助很大,但我想展示一个可能更通用的解决方案:
class MDWithTOC < ::Tilt::RDiscountTemplate
def flags
[:generate_toc]
end
end
Tilt.register MDWithTOC, 'md'
在这里,我们覆盖了 RDiscount Tilt 模板处理程序的标志方法,并将其注册为 md
格式的处理程序。
现在您可以像往常一样使用 md
助手,它会生成 TOC。
关于ruby - RDiscount :generate_toc with Sinatra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965644/