【问题标题】:Set Default Language on Pygments.rb | Redcarpet在 Pygments.rb 上设置默认语言 |红地毯
【发布时间】:2014-05-29 16:36:23
【问题描述】:

我正在尝试为Pygments.rb Javascript 设置修复语言。我使用Redcarpet 进行降价。 到目前为止,我在这里:

# 模型.rb before_save :render_source

def render_source
  require 'redcarpet'
  renderer = PygmentizeHTMLSOURCE
  extensions = {fenced_code_blocks: true}
  redcarpet = Redcarpet::Markdown.new(renderer, extensions)
  self.rendered_source = redcarpet.render self.source
end

class PygmentizeHTMLSOURCE < Redcarpet::Render::HTML
  def block_code(code, language)
    Pygments.highlight(code, :lexer => 'javascript', options: {linenos: 'table'})
  end
end

现在我正在传递:lexer =&gt; 'javascript',但无法摆脱该块的语言选项。如果我删除“语言”,我会得到wrong number of arguments (2 for 1)

这与 Redcarpet 有关系吗?如何将词法分析器设置为默认为 javascript?

我的主要问题是我希望初始 :text 成为用户的 CLEAR 输入。我不想存储

```javascript

```

在那。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 syntax-highlighting pygments redcarpet


    【解决方案1】:

    找到了!!

    我使用的是 Redcarpet 预定义的块级调用。该块包含(代码、语言)。

    我必须使用的是整个文档

    的前/后处理回调
      class PygmentizeHTMLSOURCE < Redcarpet::Render::HTML
        def preprocess(full_document)
          Pygments.highlight(full_document, :lexer => 'javascript', options: {linenos: 'table'})
        end
      end
    

    如需进一步定制,请查看Pygment Formatters 列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 2020-12-21
      相关资源
      最近更新 更多