程式碼高亮 Highlight
- 官網文件
- Hugo是用choma來highlighting
- 在config.toml中,有一些參數可以設定
[markup]
[markup.highlight]
codeFences = true
guessSyntax = false
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "monokai"
tabWidth = 4
ShortCode & Code Fences
Hugo可以在markdown中加入要highlight的程式碼,加入的方式可以用Hugo提供的Shortcode或是Markdown常用的Code Fences
Shortcode
{{ < highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" >}}
// ... code
{{ < / highlight >}}
Code Fences
```go {linenos=table,hl_lines=[8,"15-17"],linenostart=199}
// ... code
```
參數
linenos
: 可以是true, false, table, inline- 是否顯示行號
- table會比較容易copy & paste
hl_lines
: 指定的行號加上背景色- 可以是單獨的行號(1,2,3)或範圍(“1-3”)
linenostart
: 指定起始行號- EX: lineostart=199
choma支援的語言
refix | Language |
---|---|
A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, Angular2, ANTLR, ApacheConf, APL, AppleScript, Arduino, Awk |
B | Ballerina, Base Makefile, Bash, Batchfile, BlitzBasic, BNF, Brainfuck |
C | C, C#, C++, Cap’n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Crystal, CSS, Cython |
D | D, Dart, Diff, Django/Jinja, Docker, DTD |
E | EBNF, Elixir, Elm, EmacsLisp, Erlang |
F | Factor, Fish, Forth, Fortran, FSharp |
G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groovy |
H | Handlebars, Haskell, Haxe, HCL, Hexdump, HTML, HTTP, Hy |
I | Idris, INI, Io |
J | J, Java, JavaScript, JSON, Julia, Jungle |
K | Kotlin |
L | Lighttpd configuration file, LLVM, Lua |
M | Mako, markdown, Mason, Mathematica, Matlab, MiniZinc, MLIR, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL |
N | NASM, Newspeak, Nginx configuration file, Nim, Nix |
O | Objective-C, OCaml, Octave, OpenSCAD, Org Mode |
P | PacmanConf, Perl, PHP, Pig, PkgConfig, PL/pgSQL, plaintext, PostgreSQL SQL dialect, PostScript, POVRay, PowerShell, Prolog, Protocol Buffer, Puppet, Python, Python 3 |
Q | QBasic |
R | R, Racket, Ragel, react, reg, reStructuredText, Rexx, Ruby, Rust |
S | Sass, Scala, Scheme, Scilab, SCSS, Smalltalk, Smarty, SML, Snobol, Solidity, SPARQL, SQL, SquidConf, Swift, SYSTEMD, systemverilog |
T | TableGen, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData |
V | VB.net, verilog, VHDL, VimL, vue |
W | WDTE |
X | XML, Xorg |
Y | YAML |