mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
45e6fdb315
4eb10c1a9 Set a sensible maxAge on the image cache 2c37f4f89 Update lists.md 8690c018f Update introduction.md 0458c3d88 Update index.md 150982f5e Update index.md 50dc0b6b9 Update multilingual.md 648598090 Configure image cache to use :cacheDir/images 4dfb523c3 Update introduction.md b94d42e6f Add text to social images d3253d2aa Add resources/_gen/images/ to .gitignore 8a56e1dfd Delete resources/_gen/images 1521e79b6 Update introduction.md c7110a597 Update introduction.md f7c4d220f Update introduction.md c14ecf1ff Update introduction.md c4b388c20 Fix shortcode in hugo-pipes/introduction (#1605) d9876bd68 Update introduction.md a39a532d5 Update introduction.md fa8758122 netlify: Hugo 0.90.1 50cc40570 Update Contribute to Hugo Development fc98fc82c Add .vscode dir to .gitignore (#1602) 8f8bcdefc Add frontmatter param to code-toggle shortcode (#1601) f3b432c7c Add markdownlint configuration file (#1597) 7ea3aea92 netlify: Bump to 0.90.0 e2b6f990b docs: Regenerate docs helper c02259e33 Merge commit '8d9511a08f14260cbfb73119e4afae50e5a9966d' 2e3573899 Add custom font support to images.Text 3186e6458 images: Text filter that draws text with the given options (#9239) 424f219eb tpl/transform: Optional options for highlight func 7993f17d0 Implement XML data support 1eb9d34cf Make resources.Get use a file cache for remote resources 8a0fffd56 Add remote support to resources.Get git-subtree-dir: docs git-subtree-split: 4eb10c1a9689aebf652011a6260a14bf8a3dcef4
3.8 KiB
3.8 KiB
title | linktitle | description | date | publishdate | lastmod | categories | menu | keywords | signature | relatedfuncs | deprecated | toc | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
highlight | highlight | Renders code with a syntax highlighter. | 2017-02-01 | 2017-02-01 | 2021-12-06 |
|
|
|
|
false | true |
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. - 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][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.
{{% note %}}
Instead of specifying both lineNos
and lineNumbersInTable
, you can use the following shorthand notation:
lineNos=inline
- equivalent to
lineNos=true
andlineNumbersInTable=false
lineNos=table
- equivalent to
lineNos=true
andlineNumbersInTable=true
{{% /note %}}
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 ",") }}
[hugo client]: {{< relref "commands/hugo_gen_chromastyles" >}} [options]: {{< relref "#options" >}} [site configuration]: {{< relref "getting-started/configuration-markup#highlight">}} [style gallery]: https://xyproto.github.io/splash/docs/ [supported languages]: {{< relref "content-management/syntax-highlighting#list-of-chroma-highlighting-languages" >}}