transform.Highlight

highlight 函式使用 Chroma 語法高亮器,支援超過 200 種語言並提供超過 40 種樣式。

參數說明

INPUT
要高亮的程式碼內容。
LANG
要高亮的程式碼語言。請選擇一個 [支援的語言]。不區分大小寫。
OPTIONS
一個映射,或用逗號分隔的選項列表,可以包含零個或多個 [選項]。可在站點設定中設置預設值。

選項

lineNos
布林值。預設為 false
在每行開頭顯示行號。
lineNumbersInTable
布林值。預設為 true
將高亮的程式碼渲染為一個 HTML 表格,左側儲存格包含行號,右側儲存格包含程式碼,方便用戶選取和複製不帶行號的程式碼。若 lineNosfalse,此項無效。
anchorLineNos
布林值。預設為 false
將每個行號渲染為 HTML 錨點元素,並將周圍 <span>id 屬性設為行號。若 lineNosfalse,此項無效。
lineAnchors
字串。預設為 ""
當將行號渲染為 HTML 錨點時,會在周圍 <span>id 屬性前加上此值,確保當頁面中有多個程式碼區塊時,每個區塊的 id 屬性唯一。若 lineNosanchorLineNosfalse,此項無效。
lineNoStart
整數。預設為 1
第一行開頭顯示的行號。若 lineNosfalse,此項無效。
hl_Lines
字串。預設為 ""
以空格分隔的行號列表,用於強調程式碼中的特定行。例如,若要強調第 2、3、4 和第 7 行,請將此值設為 2-4 7。此選項獨立於 lineNoStart
hl_inline
布林值。預設為 false
在不使用外層容器的情況下渲染高亮的程式碼。
style
字串。預設為 monokai
高亮程式碼的 CSS 樣式。參見 樣式庫 獲取範例。區分大小寫。
noClasses
布林值。預設為 true
使用內聯 CSS 樣式而非外部 CSS 檔案。若設為 false,可使用 hugo 工具生成樣式檔案
tabWidth
整數。預設為 4
在高亮程式碼中,每個 Tab 字元將替換為的空格數量。若 noClassesfalse,此項無效。
guessSyntax
布林值。預設為 false
LANG 參數為空或為未識別語言,則自動檢測語言(如可能),否則使用預設語言。

範例

{{ $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" }}
{{ $opts := dict "lineNos" "table" "style" "dracula" }}
{{ transform.Highlight $input $lang $opts }}