mirror of
https://github.com/gohugoio/hugo.git
synced 2024-05-11 05:54:58 +00:00
36dd5483f Clarify placement of 404 template 6f0a5f3f0 Update urls.Parse.md c8070e578 Remove reference to Internet Explorer conditional comments (#1975) 3e3458f09 Describe default source map behavior for js.build (#1974) 08c9ed09a Simplify ordinal abbreviation example... (#1970) b5aa8d598 docs(markdownify): mention a context limitation (#1968) 596af47f5 Fixing typo in configuration.md doc (#1966) c47cadfcb Fix `hardWraps` config spelling (#1964) 5739a174e Add detail to tabWidth highlighting option 73a4bcd1f doc: Add hugo-lyra search engine (#1959) 6cc9ebdfd Update uniq function example (#1963) 686a65cf6 Update uniq.md 096f794d0 Update uniq.md 914ca0c38 remove `version` from SVG example (#1957) 58347d41f Update theme 7c806371f Fix 404 error for CloudCannon community learn docs (#1955) 58e42b03d Update theme fd0385ee2 Update theme 513b7a43a Update findRe.md 4d39137ef Update configuration.md b1c3b58a7 Update configuration.md f827cce8d Update configuration.md 3d72ed8fb netlify: Hugo 0.110.0 e6f969c87 Merge branch 'feat/config-rename' 4c0b5a0b5 dos: Regen CLI docs 05d9db705 docs: Regen docshelper f73bdb6e5 Merge commit 'ef6f101e75256c3bb88a6f1f3b5c1273bf8d7382' e83141f88 Format config 4cadf795e Rename config.toml -> hugo.toml c8aa8617f Move config/_default/config.toml -> config.toml 2943c031a Add fill HTTP Response info into .Data in resources.GetRemote git-subtree-dir: docs git-subtree-split: 36dd5483fb8efb6db4488bbaca5f6ac855f8ffea
3.9 KiB
3.9 KiB
title, linktitle, description, date, publishdate, lastmod, categories, menu, keywords, signature, relatedfuncs, deprecated, toc
| 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 iflineNosisfalse. - anchorLineNos
- Boolean. Default is
false.
Render each line number as an HTML anchor element, and set theidattribute of the surrounding<span>to the line number. Irrelevant iflineNosisfalse. - lineAnchors
- String. Default is
"".
When rendering a line number as an HTML anchor element, prepend this value to theidattribute of the surrounding<span>. This provides uniqueidattributes when a page contains two or more code blocks. Irrelevant iflineNosoranchorLineNosisfalse. - lineNoStart
- Integer. Default is
1.
The number to display at the beginning of the first line. Irrelevant iflineNosisfalse. - 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 thelineNoStartoption. - 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 tofalseand [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. Irrelevant ifnoClassesisfalse. - guessSyntax
- Boolean. Default is
false.
If theLANGparameter 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=trueandlineNumbersInTable=false lineNos=table- equivalent to
lineNos=trueandlineNumbersInTable=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" >}}