CodeRay
CodeRay is an encoding-aware, syntax highlighter that supports the languages listed below.
C |
C++ |
Clojure |
CSS |
Delphi |
diff |
ERB |
Go |
Groovy |
HAML |
HTML |
Java |
JavaScript |
JSON |
Lua |
PHP |
Python |
Ruby |
Sass |
SQL |
Taskpaper |
XML |
YAML |
Install CodeRay
To use CodeRay with Asciidoctor, you need the coderay gem. You can use one of the following methods to install CodeRay.
- Install using gem (all systems)
-
$ gem install coderay
- Install using apt-get (Debian-based systems)
-
$ sudo apt-get install ruby-coderay
- Install using dnf (Fedora-based systems)
-
$ sudo dnf install rubygem-coderay
Activate CodeRay
Once you’ve installed the gem, assign the coderay
value to the source-highlighter
attribute in the document header to activate it.
:source-highlighter: coderay
CodeRay attributes
You can further customize the source block output with additional CodeRay attributes.
- coderay-css
-
Controls what method is used for applying CSS to the tokens. Can be
class
orstyle
. Default:class
. - coderay-linenums-mode
-
Controls how line numbers are laid out. Can be
table
orinline
. If line wrapping is enabled on preformatted blocks (i.e.,prewrap
), and you want to use line numbering on source blocks, you must set the value of this attribute toinline
in order for the numbers to line up properly with their target lines. Default:table
.
: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'
}
----
See the CodeRay stylesheet section to learn about the coderay-css
attribute.