CodeRay 是一个编码感知的语法高亮器,支持下面列出的语言。
C |
C++ |
Clojure |
CSS |
Delphi |
diff |
ERB |
Go |
Groovy |
HAML |
HTML |
Java |
JavaScript |
JSON |
Lua |
PHP |
Python |
Ruby |
Sass |
SQL |
Taskpaper |
XML |
YAML |
安装 CodeRay
要在Asciidoctor中使用CodeRay,你需要[code_ray宝石](coderay gem^)。您可以使用以下方法之一来安装CodeRay。
- 使用gem安装(适用于所有系统)
-
$ gem install coderay
- 使用apt-get安装(基于Debian的系统)
-
$ sudo apt-get install ruby-coderay
- 使用dnf安装(基于Fedora的系统)
-
$ sudo dnf install rubygem-coderay
激活 CodeRay
一旦你安装了gem,就将`coderay`值分配给文档头部的`source-highlighter`属性以激活它。
:source-highlighter: coderay
CodeRay 属性
您可以通过额外的CodeRay属性进一步定制源代码块的输出。
- coderay-css
-
控制应用CSS到标记上的方法是什么。可以是`class`或者`style`。默认值:
class
。 - coderay-linenums-mode
-
控制行号的布局方式。可以是`table`或`inline`。如果在预格式化块(即`prewrap`)上启用了行包裹,并且您想在源代码块上使用行号,您必须将该属性的值设置为`inline`,以便行号正确对齐它们的目标行。默认值:
table
。
使用CodeRay行号自定义源代码块
:source-highlighter: coderay
:coderay-linenums-mode: inline
[%linenums,ruby]
----
ORDERED_LIST_KEYWORDS = {
'loweralpha' => 'a',
'lowerroman' => 'i',
'upperalpha' => 'A',
'upperroman' => 'I'
#'lowergreek' => 'a'
#'arabic' => '1'
#'decimal' => '1'
}
----
参考CodeRay样式表部分了解`coderay-css`属性。