首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redcarpet锚定到标头

Redcarpet锚定到标头
EN

Stack Overflow用户
提问于 2013-02-03 22:58:59
回答 1查看 786关注 0票数 1

我正在使用红毯gem进行标记,我想为h2标题生成自动锚点,以允许链接到每个部分。

show.html.erb

代码语言:javascript
复制
<div class = "content"><%= markdown(@post.body) %></div>

application_helper.rb

代码语言:javascript
复制
class HTMLwithPygments < Redcarpet::Render::HTML
  def block_code(code, language)
    Pygments.highlight(code, :lexer => language)
  end
end

def markdown(text)
  renderer = HTMLwithPygments.new(:hard_wrap => true, :with_toc_data => true)
  options = {
    :fenced_code_blocks => true,
    :no_intra_emphasis => true,
    :autolink => true,
    :strikethrough => true,
    :lax_html_blocks => true,
    :superscript => true,
  }
  Redcarpet::Markdown.new(renderer, options).render(text).html_safe
end

我读到过:with_toc_data => true,但它对我不起作用。我在选项区域添加了它。

EN

回答 1

Stack Overflow用户

发布于 2017-04-22 07:24:40

我做的事情和你描述的一样,基本上就是

代码语言:javascript
复制
Redcarpet::Markdown.new(
  Redcarpet::Render::HTML.new(with_toc_data: true), {}
).render(text)

我的视图包含以下代码

代码语言:javascript
复制
- @article.description.scan(/(#+)(.*)/).each do |menu_item|
  = content_tag(:a, menu_item[1], :href => "##{menu_item[1].downcase.strip.gsub(" ","-")}")

也许这对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14673807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档