❗ Вебсайт в стадии бета-тестирования. Возможны ошибки.

Фрагмент кода

Назначение

Фрагмент кода — способ отображения фрагментов программного кода или предварительно форматированного текста с сохранением исходной структуры, подсветкой синтаксиса и удобства чтения пользователем.

Правила оформления

Следует применять ограждённый код. Для ограждения используют:

  • либо три обратных кавычки (`);
  • либо три тильды (~).

Внимание!

Смешивать обратные кавычки и тильды недопустимо!

Для подсветки фрагмента кода нужно указать язык, на котором написан этот код. Например, фрагмент программного кода, написанного на языке Python:

def say_hello():
    print("Hello!")

Наименование файла

В заголовке фрагмента кода можно указать название файла, в котором расположен этот код. Например:

python {filename="hello.py"}

В результате:

hello.py
def say_hello():
    print("Hello!")    

Ссылка в заголовке

В заголовок фрагмента кода можно вставить ссылку. Например:

Нумерация строк

Для нумерации строк в фрагменте кода нужно в заголовок вставить атрибуты:

  • ’linenos’ для указания на нумерацию;
  • ’linenostart’ для указания начала нумерации.

Пример нумерации строк кода:

42
43
def say_hello():
    print("Hello!")

Выделение стрки

Для выделения строки нужно вставить атрибут ‘hl_lines’ и указать номера выделяемых строк.

Пример выделения строк 2 и 4.

hello.py
1
2
3
4
5
def say_hello():
    print("Hello!")

def main():
    say_hello()

Приложение. Наименование языков

Полный список поддерживаемых языков приведён в проекте 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