Фрагмент кода
Назначение
Фрагмент кода — способ отображения фрагментов программного кода или предварительно форматированного текста с сохранением исходной структуры, подсветкой синтаксиса и удобства чтения пользователем.
Правила оформления
Следует применять ограждённый код. Для ограждения используют:
- либо три обратных кавычки (`);
- либо три тильды (~).
Внимание!
Смешивать обратные кавычки и тильды недопустимо!
Для подсветки фрагмента кода нужно указать язык, на котором написан этот код. Например, фрагмент программного кода, написанного на языке Python:
def say_hello():
print("Hello!")Наименование файла
В заголовке фрагмента кода можно указать название файла, в котором расположен этот код. Например:
python {filename="hello.py"}В результате:
def say_hello():
print("Hello!") Ссылка в заголовке
В заголовок фрагмента кода можно вставить ссылку. Например:
go 1.20Нумерация строк
Для нумерации строк в фрагменте кода нужно в заголовок вставить атрибуты:
- ’linenos’ для указания на нумерацию;
- ’linenostart’ для указания начала нумерации.
Пример нумерации строк кода:
| |
Выделение стрки
Для выделения строки нужно вставить атрибут ‘hl_lines’ и указать номера выделяемых строк.
Пример выделения строк 2 и 4.
| |
Приложение. Наименование языков
Полный список поддерживаемых языков приведён в проекте Chroma.
Ниже указан список языков для правильного указания в заголовке фрагмента кода.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A
ABAP, ABNF, ActionScript, ActionScript 3, Ada, Agda, AL, Alloy, Angular2, ANTLR, ApacheConf, APL, AppleScript, ArangoDB AQL, Arduino, ArmAsm, ATL, AutoHotkey, AutoIt, Awk
B
Ballerina, Bash, Bash Session, Batchfile, Beef, BibTeX, Bicep, BlitzBasic, BNF, BQN, Brainfuck
C
C, C#, C++, Caddyfile, Caddyfile Directives, Cap’n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Core, Crystal, CSS, CSV, CUE, Cython
D
D, Dart, Dax, Desktop file, Diff, Django/Jinja, dns, Docker, DTD, Dylan
E
EBNF, Elixir, Elm, EmacsLisp, Erlang
F
Factor, Fennel, Fish, Forth, Fortran, FortranFixed, FSharp
G
GAS, GDScript, GDScript3, Gemtext, Genshi, Genshi HTML, Genshi Text, Gherkin, Gleam, GLSL, Gnuplot, Go, Go HTML Template, Go Template, Go Text Template, GraphQL, Groff, Groovy
H
Handlebars, Hare, Haskell, Haxe, HCL, Hexdump, HLB, HLSL, HolyC, HTML, HTTP, Hy
I
Idris, Igor, INI, Io, ISCdhcpd
J
J, Janet, Java, JavaScript, JSON, JSONata, Jsonnet, Julia, Jungle
K
Kotlin
L
Lean4, Lighttpd configuration file, LLVM, lox, Lua
M
Makefile, Mako, markdown, Mason, Materialize SQL dialect, Mathematica, Matlab, MCFunction, Meson, Metal, MiniZinc, MLIR, Modula-2, Mojo, MonkeyC, MoonScript, MorrowindScript, Myghty, MySQL
N
NASM, Natural, NDISASM, Newspeak, Nginx configuration file, Nim, Nix, NSIS, Nu
O
Objective-C, ObjectPascal, OCaml, Octave, Odin, OnesEnterprise, OpenEdge ABL, OpenSCAD, Org Mode
P
PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Plutus Core, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerQuery, PowerShell, Prolog, Promela, PromQL, properties, Protocol Buffer, PRQL, PSL, Puppet, Python, Python 2
Q
QBasic, QML
R
R, Racket, Ragel, Raku, react, ReasonML, reg, Rego, reStructuredText, Rexx, RPGLE, RPMSpec, Ruby, Rust
S
SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Sieve, Smali, Smalltalk, Smarty, SNBT, Snobol, Solidity, SourcePawn, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog
T
TableGen, Tal, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData, Typst
U
ucode
V
V, V shell, Vala, VB.net, verilog, VHDL, VHS, VimL, vue
W
WDTE, WebGPU Shading Language, WebVTT, Whiley
X
XML, Xorg
Y
YAML, YANG
Z
Z80 Assembly, Zed, Zig