`

Rails实现markdown和代码高亮

 
阅读更多
安装GEM

Markdown是时下很流行的一种标记语言。

可以很简便的生成html代码,github的README就是用这种形式显示再代码目录的下面。

Ruby/Rails借助繁多的Gem,可以迅速的就做好markdown的支持,顺道包含对代码高亮的支持。

Gem太多,实现方法也太多。

下面就介绍一种比较迅速开发的办法。用了redcarpet和CodeRay两个Gem。


 gem 'redcarpet'
    gem 'coderay'




打开app/helper/application_helper.rb, 添加下列代码。

 def markdown(text)
       options = {   
           :autolink => true, 
           :space_after_headers => true,
           :fenced_code_blocks => true,
           :no_intra_emphasis => true,
           :hard_wrap => true,
           :strikethrough =>true
         }
       markdown = Redcarpet::Markdown.new(HTMLwithCodeRay,options)
       markdown.render(h(text)).html_safe
     end

     class HTMLwithCodeRay < Redcarpet::Render::HTML
       def block_code(code, language)
         CodeRay.scan(code, language).div(:tab_width=>2)
       end
     end



在erb中显示
<%= markdown(@post.content) %>
分享到:
评论

相关推荐

    在Ruby on Rails中使用Markdown的方法

    总的来说,通过结合使用Redcarpet和pygments.rb,你可以在Ruby on Rails项目中实现Markdown文本的解析和代码高亮,从而提供更好的阅读体验。这使得开发者和作者可以专注于内容创作,而不必担心格式问题,提高了工作...

    redmine_markdown_extra_formatter-master.zip

    3. **Fenced代码块**:可以添加语言标识,实现代码高亮,提高代码可读性。 4. **自定义HTML块**:允许在Markdown文档中嵌入HTML,增加灵活性。 5. **脚注**:为文档添加注释,提供额外信息。 6. **自动链接**:将URL...

    一组针对现代编辑解决方案的建议。_HTML_Ruby_下载.zip

    - 对于Ruby,可以使用Ruby Grammar Highlighting(Ruby语法高亮)、RubyMine Keymap(RubyMine快捷键绑定)、Ruby on Rails Snippets(Rails代码片段)等,使得Ruby开发更为流畅。 3. **配置优化**:每个编辑器都...

    富文本编辑器summernote

    2. **可扩展性**:Summernote支持插件扩展,用户可以根据需求添加自定义功能,例如集成Markdown语法、代码高亮、表格编辑等。 3. **高度定制**:编辑器的样式和行为可以通过CSS和JavaScript进行调整,以满足不同...

    超全面的web开发工具和资源,全部都是免费的,还不拿走?.docx

    同时,Git服务如GitHub、GitLab和Bitbucket提供了在线托管代码和协作的功能,大部分都提供免费的个人使用计划。 网站速度优化是提升用户体验的关键。使用如Google PageSpeed Insights、GTmetrix或Pingdom等网站测速...

    GIT CHEAT SHEET 速查表

    使用Markdown文件时,GitHub支持高亮语法,这意味着可以将代码和文本用特定的格式显示,提高文件的可读性。此外,表情符号的使用可以在文档中添加表情,增加表达的趣味性。在GitHub Wiki中嵌入图片可以丰富内容的...

    jekyll gem

    这些Gem共同构成了Jekyll的基础环境,确保了Jekyll能正确处理文本、样式、代码和图片等元素,生成结构清晰、美观易读的静态网站。在使用Jekyll时,了解并掌握这些Gem的作用和用法,可以帮助开发者更高效地构建和维护...

    演讲:我做过的技术演讲集

    它允许开发者用熟悉的Markdown语法快速构建演示文稿,同时支持代码高亮和数学公式。演讲可能展示如何利用Deckset创建引人入胜的演示,提升技术演讲的表现力。 综合以上内容,这个压缩包中的演讲集为开发者提供了...

    Rebbin-开源

    总结,Rebbin是一个基于Ruby on Rails的开源pastebin应用,为用户提供代码分享和学习的平台。开源特性使其成为学习和贡献的好去处,同时也为开发者社区提供了宝贵的资源。如果你对Ruby和Rails感兴趣,不妨深入了解并...

    summernote-master.zip

    3. **代码编辑**:对于技术用户,Summernote提供了代码块插入和编辑功能,支持多种编程语言高亮显示。 4. **自定义工具栏**:开发者可以根据需求自定义编辑器的工具栏,添加或移除特定的编辑选项。 5. **多语言...

    cheat-sheets:使用reveal.js幻灯片的备忘单的集合

    8. **代码高亮**:使用合适的CSS样式和JavaScript库,可以实现代码片段的语法高亮,使代码部分更易读。 9. **演讲者视图**:reveal.js支持演讲者视图,显示当前幻灯片、下一张幻灯片、备注和计时器,帮助演讲者更好...

    chatpro:聊天工具

    ChatPro - 时尚的聊天室 ...那个时候我很迷茫到底是什么产品,虽然我在聊天消息里加了代码语法高亮、markdown语法。 但是当开始使用 Slack 时,我意识到这是我一直追求的理想产品。 太糟糕的代码,忘记它们

Global site tag (gtag.js) - Google Analytics