highlight
Syntax
transform.Highlight INPUT LANG [OPTIONS]
highlight INPUT LANG [OPTIONS]
The highlight
function uses the Chroma syntax highlighter, supporting over 200 languages with more than 40 available styles.
Parameters
- INPUT
- The code to highlight.
- LANG
- The language of the code to highlight. Choose from one of the supported languages. Case-insensitive.
- OPTIONS
- An optional, comma-separated list of zero or more options. Set default values in site configuration.
Options
- lineNos
- Boolean. Default is
false
.
Display a number at the beginning of each line. - lineNumbersInTable
- Boolean. Default is
true
.
Render the highlighted code in an HTML table with two cells. The left table cell contains the line numbers. The right table cell contains the code, allowing a user to select and copy the code without line numbers. Irrelevant iflineNos
is false. - anchorLineNos
- Boolean. Default is
false
.
Render each line number as an HTML anchor element, and set theid
attribute of the surrounding<span>
to the line number. Irrelevant iflineNos
is false. - lineAnchors
- String. Default is
""
.
When rendering a line number as an HTML anchor element, prepend this value to theid
attribute of the surrounding<span>
. This provides uniqueid
attributes when a page contains two or more code blocks. Irrelevant iflineNos
oranchorLineNos
is false. - lineNoStart
- Integer. Default is
1
.
The number to display at the beginning of the first line. Irrelevant iflineNos
is false. - hl_Lines
- String. Default is
""
.
A space-separated list of lines to emphasize within the highlighted code. To emphasize lines 2, 3, 4, and 7, set this value to2-4 7
. This option is independent of thelineNoStart
option. - hl_inline
- Boolean. Default is
false
.
Render the highlighted code without a wrapping container. - style
- String. Default is
monokai
.
The CSS styles to apply to the highlighted code. See the style gallery for examples. Case-sensitive. - noClasses
- Boolean. Default is
true
.
Use inline CSS styles instead of an external CSS file. To use an external CSS file, set this value tofalse
and generate the file with the hugo client. - tabWidth
- Integer. Default is
4
.
Substitute this number of spaces for each tab character in your highlighted code. - guessSyntax
- Boolean. Default is
false
.
If theLANG
parameter is blank or an unrecognized language, auto-detect the language if possible, otherwise use a fallback language.
Examples
{{ $input := `fmt.Println("Hello World!")` }}
{{ transform.Highlight $input "go" }}
{{ $input := `console.log('Hello World!');` }}
{{ $lang := "js" }}
{{ transform.Highlight $input $lang "lineNos=table, style=api" }}
{{ $input := `echo "Hello World!"` }}
{{ $lang := "bash" }}
{{ $options := slice "lineNos=table" "style=dracula" }}
{{ transform.Highlight $input $lang (delimit $options ",") }}