= CodeRay :url-coderay: http://coderay.rubychan.de/ :url-coderay-gem: https://rubygems.org/gems/coderay {url-coderay}[CodeRay^] is an encoding-aware, syntax highlighter that supports the languages listed below. [%autowidth,cols="3*",grid=none,frame=none] |=== | 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 {url-coderay-gem}[coderay RubyGem^]. 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 RubyGem, assign the `coderay` value to the `source-highlighter` attribute in the document header to activate it. [source,asciidoc] ---- :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` or `style`. Default: `class`. coderay-linenums-mode:: Controls how line numbers are laid out. Can be `table` or `inline`. 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 to `inline` in order for the numbers to line up properly with their target lines. Default: `table`. .Customizing a source block with CodeRay line numbers [source,asciidoc] .... :source-highlighter: coderay :coderay-linenums-mode: inline [source,ruby,linenums] ---- ORDERED_LIST_KEYWORDS = { 'loweralpha' => 'a', 'lowerroman' => 'i', 'upperalpha' => 'A', 'upperroman' => 'I' #'lowergreek' => 'a' #'arabic' => '1' #'decimal' => '1' } ---- .... See the xref:html-backend:source-highlighting-stylesheets.adoc#coderay[CodeRay stylesheet section] to learn about the `coderay-css` attribute. //// Note: I'm not getting this to work. Need to come back and do some quality assurance. ////