任何 gem 用于在 Rails 中设计博客 post 并带有语法突出显示和内联图像附件?

Any gem for designing a blog post in Rails with syntax highlighting and inline image attachment?

我正尝试在 Rails 上的 Ruby 中创建个人博客。我想设计带有语法突出显示的单个 post 以及内联多个 图像附件 。我已经尝试 ckeditor gem 与回形针,但语法突出显示不适用于 redcarpet and pygments.rb

我正在寻找创建博客 post 类似于 this 的东西。请帮忙!!

语法高亮通常通过javascript完成,例如通过highlight.js

对于程序员的个人博客,还有更专业的解决方案,例如 jekyll(支持 github 个页面)

我喜欢使用 prismjs 进行语法高亮 -> http://prismjs.com

当我学习 rails 引擎并将 prismjs 用于多个 rails 应用程序时,为了方便起见,我将 prismjs 打包到 ruby​​gem (highlighting) 中。

要在 rails 中设置 prismjs,请将 gem 'highlighting' 添加到您的 gemfile。

接下来,在 application.js 添加 //= require prism//= require prism-[language],如下所示:

//= require turbolink
//= require prism 
//= require prism-[language]

用语言名称替换[语言]。例如:prism-rubyprism-coffeescript

在application.css处添加*= require prism-[theme]或使用默认的*= require prism

*= require prism 

还有其他各种主题可供选择。例如 *= require prism-tomorrow*= require prism-twilight

要在您的视图中使用它们,请执行以下操作:

<pre>
<code class="language-ruby">
   <!-- type any ruby code you like --> 
</code>
</pre>

Obtvse, an open source blog engine inspired by Svbtle 几乎完全符合您的要求。

它使用 Coderay for syntax highlighting which is a pure ruby library and does not depend on javascript, and Markdown (through Kramdown) 来编辑 posts 而不是像 CKEDITOR 这样的所见即所得的解决方案,恕我直言,这是一个更明智的选择 - 特别是对于技术倾向。

与基于 javascript 的解决方案相比,基于后端的语法突出显示与 RSS 阅读器配合得很好。

您可以使用该应用程序并根据您的要求进行自定义,或者查看实现并使用它来构建您自己的解决方案。

或者,如果您特别倾向于使用 CKEditor,您可能想看看 this plugin which integrates CKEditor with CodeMirror, which is among the most popular solutions for code editing and highlighting in javascript. For displaying the snippets you can also use CodeMirror in a readonly mode as described in this manual。这将确保您在编辑时以及在 post 视图页面中获得完全相同的语法突出显示。