我试图为Pygments.rb,Javascript设置修复语言。我使用Redcarpet作为Markdown。 到目前为止我在这里:
#Model.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 => 'javascript'
,但无法摆脱该块的语言选项。如果我删除了语言&#39;我得到wrong number of arguments (2 for 1)
这与Redcarpet有关吗?如何将词法分析器设置为默认为javascript?
我的主要问题是我希望初始:text
是用户的CLEAR输入。我不想存储
```javascript
```
。
答案 0 :(得分:0)
发现它!!
我正在使用从Redcarpet预定义的块级调用。该块包含(代码,语言)。
我必须使用的是整个文档的前/后流程回调
class PygmentizeHTMLSOURCE < Redcarpet::Render::HTML
def preprocess(full_document)
Pygments.highlight(full_document, :lexer => 'javascript', options: {linenos: 'table'})
end
end
对于进一步的自定义,我会列出Pygment Formatters。
的列表