Розширення:Підсвічування синтаксису
SyntaxHighlight Статус релізу: стабільний |
|
---|---|
Реалізація | Тег |
Опис | Дозволяє підсвічування синтаксису початкового коду на вікі-сторінках. |
Автор(и) |
|
Найновіша версія | постійні оновлення |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | 1.25+ |
Зміни в БД | Ні |
Ліцензія | GNU General Public License 2.0 or later |
Завантажити | README |
|
|
<syntaxhighlight> |
|
Public wikis using | 11,760 (Ranked 8th) |
Translate the SyntaxHighlight extension | |
Issues | Open tasks · Report a bug |
Розширення SyntaxHighlight, раніше відоме як SyntaxHighlight_GeSHi, надає багате форматування початкового коду за допомогою тегу <syntaxhighlight>
.
Воно працює на бібліотеці Pygments і підтримує сотні різних мов програмування та форматів файлів.
Як і з тегами <pre>
і <poem >
, текст відображається точнісінько так, як був набраний, зберігаючи будь-які пропуски.
The SyntaxHighlight extension does not work on wiki installations hardened using Hardened-PHP due to the lack of proc_open
, shell_exec
and other functions.
Див. завдання T250763.
The <syntaxhighlight>
tag has become expensive since 1.39 for 5,000 or some other extreme amount of syntaxhighlight tags in a single page such as for Wikibooks.
Increase webserver timeout value in environments in extreme cases.
(Див. завдання T316858.)
Використання
Раз установивши, можна використовувати теги «syntaxhighlight» на вікі-сторінках. Наприклад,
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
є результатом наступної розмітки вікітексту:
<syntaxhighlight lang="python" line>
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
</syntaxhighlight>
У старіших версіях (до MediaWiki 1.16) розширення використовувало тег <source>
.
Він досі підтримується, але застарів. Замість нього треба використовувати <syntaxhighlight>
.
Стилізація
Якщо відображуваний код завеликий, можна підігнати його, помістивши наступне на сторінку MediaWiki:Common.css у вашій Вікіпедії (створіть її за відсутності):
/* Розміщений тут CSS застосовуватиметься для всіх скінів */
.mw-highlight pre {
font-size: 90%;
}
Охоплення блоків коду в межі можна зробити шляхом вставки рядка на кшталт border: 1px dashed blue;
у розділі вище.
Контроль над використовуваною родиною шрифтів також може здійснюватися вставкою рядка на кшталт font-family: "Courier New", monospace;
у розділі вище.
Категорія помилок підсвічування синтаксису
Розширення додає сторінки, що мають поганий атрибут lang
у тегах $source або <syntaxhighlight>
, до категорії відстеження.
Ключ повідомлення MediaWiki:syntaxhighlight-error-category визначає назву категорії; у цій Вікіпедії це Category:Pages with syntax highlighting errors.
Найпоширенішою помилкою, що призводить до позначення сторінок даною категорією, є повна відсутність атрибуту lang
у тегах <syntaxhighlight>
або $source, оскільки старіші версії даного розширення підтримували визначення $wgSyntaxHighlightDefaultLang
.
Як правило, можна або замінити на <pre>
чи lang="bash"
, або додати lang="text"
до тегу.
Категорія також може додаватися, а вміст не підсвічуватися, якщо текст перевищує 1000 рядків або 100 кБ.[1]
Параметри
lang
Атрибут lang="name"
визначає, який лексичний аналізатор слід використати.
Мова впливає на підсвічування розширенням початкового коду.
Див. розділ Підтримувані мови для подробиць підтримуваних мов.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python">
...
</syntaxhighlight>
Вказання недійсної чи невідомої назви помітить сторінку категорією відстеження. Детальніше див. у розділі Категорія помилок підсвічування синтаксису на цій сторінці.
line
Атрибут line
вмикає номери рядків.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python" line>
...
</syntaxhighlight>
start
Атрибут start
(у поєднанні з line
) визначає номер першого рядка блоку коду.
Наприклад, line start="55"
пронумерує рядки, починаючи з 55.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python" line start="55">
...
</syntaxhighlight>
highlight
Атрибут highlight
визначає один чи більше рядків, які слід маркувати (підсвічуванням цих рядків іншим кольором тла).
Можна вказати багато номерів рядків, розділених комами (наприклад, highlight="1,4,8"
), чи діапазони за допомогою двох номерів рядків і дефісу (наприклад, highlight="5-7"
).
start
.def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
є результатом
<syntaxhighlight lang="python" line start="3" highlight="1,5-7">
...
</syntaxhighlight>
inline
Версія MediaWiki: | ≥ 1.26 |
Атрибут позначає, що початковий код слід вбудувати як частину абзацу (на відміну від власного блоку). Ця опція доступна, починаючи з MediaWiki 1.26.
class="nowrap"
(на тих Вікіпедіях, що підтримують його; див. нижче) чи style="white-space:nowrap"
.Наприклад:
Наступний lambda x: x * 2
є лямбда-виразом у мові Python.
є результатом:
Наступний <syntaxhighlight lang="python" inline>lambda x: x * 2</syntaxhighlight> є [[w:uk:Анонімна функція|лямбда-виразом]] у мові Python.
class
При використанні inline
, class="nowrap"
(не тих Вікіпедіях, що підтримують його; не на самій MediaWiki) вказує, що рядки не слід розривати на пропусках у блоці коду.
Наприклад:
Без class="nowrap"
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlambda x: x * 2
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
With style="white-space:nowrap"
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlambda x: x * 2
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
style
Атрибут style
дозволяє пряме включення атрибутів CSS.
Це еквівалентно оточуванню блоку в тег <div>
(не <span>
).
Атрибут tab‑size
не можна вказувати таким чином; він вимагає оточування тегом <span>
, як описано нижче в Розширений.
Наприклад:
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
є результатом:
<syntaxhighlight lang="python" style="border: 3px dashed blue;">
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
</syntaxhighlight>
copy
Версія MediaWiki: | ≥ 1.43 |
The copy
attribute adds a button link that copies the content to the clipboard when clicked.
inline
attribute. If both are specified, copy
will be ignored.For example:
def quick_sort(arr):
less = []
Is the result of:
<syntaxhighlight lang="python" copy>
def quick_sort(arr):
less = []
</syntaxhighlight>
Підтримувані мови
Бібліотека Pygments надає підтримку сотень комп'ютерних мов і форматів файлів.
In most cases, the lang=
attribute to be used with this extension is the lower-case version of the name of the language.
However, many have aliases, or "short names" as they're called in the Pygments documentation; see "Available lexers" for full details.
Some languages previously supported by GeSHi have been mapped to Pygments lexers; see SyntaxHighlightGeSHiCompat.php
for details.
Станом на січень 2020 року, повний список:
Мови програмування
- ActionScript
- Ada
- Agda (включно з literate)
- Alloy
- AMPL
- ANTLR
- APL
- AppleScript
- Асемблер (різні)
- Asymptote
- Augeas
- AutoIt
- Awk
- BBC Basic
- Befunge
- BlitzBasic
- Boa
- Boo
- Boogie
- BrainFuck
- C, C++ (включно з діалектами на кшталт Arduino)
- C#
- Chapel
- Charm++ CI
- Cirru
- Clay
- Clean
- Clojure
- CoffeeScript
- ColdFusion
- Common Lisp
- Component Pascal
- Coq
- Croc (MiniD)
- Cryptol (включно з Literate Cryptol)
- Crystal
- Cypher
- Cython
- D
- Dart
- DCPU-16
- Delphi
- Dylan (включно з консольною)
- Eiffel
- Elm
- Emacs Lisp
- Erlang (включно з сеансами оболонки)
- Ezhil
- Factor
- Fancy
- Fantom
- Fennel
- FloScript
- Forth
- Fortran
- FreeFEM++
- F#
- GAP
- Gherkin (Cucumber)
- Шейдери GLSL
- Golo
- Gosu
- Groovy
- Haskell (включно з Literate Haskell)
- HLSL
- HSpec
- Hy
- IDL
- Idris (включно з Literate Idris)
- Igor Pro
- Io
- Jags
- Java
- JavaScript
- Jasmin
- Jcl
- Julia
- Kotlin
- Lasso (включно з шаблонуванням)
- Limbo
- LiveScript
- Logtalk
- Logos
- Lua
- Mathematica
- Matlab
- Modelica
- Modula-2
- Monkey
- Monte
- MoonScript
- Mosel
- MuPad
- NASM
- Nemerle
- NesC
- NewLISP
- Nimrod
- Nit
- Notmuch
- NuSMV
- Objective-C
- Objective-J
- Octave
- OCaml
- Opa
- OpenCOBOL
- ParaSail
- Pawn
- PHP
- Perl 5
- Pike
- Pony
- PovRay
- PostScript
- PowerShell
- Praat
- Prolog
- Python (включно з консольними сеансами та зворотними відстеженнями)
- QBasic
- Racket
- Raku a.k.a. Perl 6
- REBOL
- Red
- Redcode
- Rexx
- Ride
- Ruby (включно з сеансами irb)
- Rust
- S, S-Plus, R
- Scala
- Scdoc
- Scheme
- Scilab
- SGF
- Скрипти оболонок (Bash, Tcsh, Fish)
- Shen
- Silver
- Slash
- Slurm
- Smalltalk
- SNOBOL
- Snowball
- Solidity
- SourcePawn
- Stan
- Standard ML
- Stata
- Swift
- Swig
- SuperCollider
- Tcl
- Tera Term language
- TypeScript
- TypoScript
- USD
- Unicon
- Urbiscript
- Vala
- VBScript
- Verilog, SystemVerilog
- VHDL
- Visual Basic.NET
- Visual FoxPro
- Whiley
- Xtend
- XQuery
- Zeek
- Zephir
- Zig
Мови шаблонів
- Шаблони Angular
- Шаблони Cheetah
- ColdFusion
- Шаблони Django/Jinja
- ERB (шаблонування Ruby)
- Evoque
- Genshi (мова шаблонів Trac)
- Handlebars
- JSP (Java Server Pages)
- Liquid
- Myghty (каркас на основі HTML::Mason)
- Mako (нащадок Myghty)
- Slim
- Шаблони Smarty (шаблонування PHP)
- Tea
- Twig
Інші розмітки
- Конфігураційні файли Apache
- Apache Pig
- BBCode
- CapDL
- Cap'n Proto
- CMake
- Csound scores
- CSS
- Debian control files
- Файли Diff
- Dockerfiles
- DTD
- EBNF
- Заголовки електронної пошти
- Extempore
- Flatline
- Каталоги Gettext
- Скрипт Gnuplot
- Розмітка Groff
- Шістнадцяткові дампи
- HTML
- Сеанси HTTP
- IDL
- Inform
- Конфігураційні файли у стилі INI
- Журнали IRC (стиль irssi)
- Isabelle
- Нотація JSGF
- JSON, JSON-LD
- Lean theorem prover
- Конфігураційні файли Lighttpd
- Журнал ядра Linux (dmesg)
- LLVM assembly
- Скрипти LSL
- Makefiles
- MoinMoin/Trac Wiki markup
- MQL
- MySQL
- Командна мова NCAR
- Конфігураційні файли Nginx
- Мова Nix
- Скрипти NSIS
- Notmuch
- Сцени POV-Ray
- Puppet
- QML
- Ragel
- Redcode
- ReST
- Roboconf
- Robot Framework
- RPM spec files
- Rql
- RSL
- Scdoc
- SPARQL
- SQL, а також MySQL, SQLite
- Конфігурація Squid
- TADS 3
- Terraform
- TeX
- Thrift
- TOML
- Граматики Treetop
- USD (Universal Scene Description)
- Конфігурації Varnish
- VGL
- Vim Script
- WDiff
- Пакетні файли Windows
- XML
- XSLT
- YAML
- Файли Реєстру Windows
- ansys
- apdl
- asc
- gcode
- golang === go
- gsql
- jslt
- julia-repl
- kuin
- meson
- nestedtext
- nodejsrepl
- nt
- omg-idl
- output
- pem
- procfile
- pwsh
- smithy
- teal
- thingsdb
- ti
- wast
- wat
Lexers previously supported by GeSHi
Нижче частковий список мов, які GeSHi може підсвітити, закреслені мови більше не підтримуються після перемикання на Pygments.
Lexers previously supported by GeSHi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Встановлення
python3
). Це зміна з версії, що йде у комплекті з MediaWiki 1.30, яка використовувала Python версії 2 (python
). Зауважте, що двійкові файли python3
повинні бути встановлені у виконавчий PATH інтерпретатора PHP.- Завантажте і розмістіть файли в каталозі з назвою
SyntaxHighlight_GeSHi
у вашійextensions/
папці.
Розробники та автори коду повинні замість цього встановити розширення з Git, використовуючи:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi - Тільки під час встановлення з git виконайте Composer для встановлення залежностей PHP, подаючи
composer install --no-dev
в каталозі розширень. (Див. завдання T173141 щодо можливих ускладнень.) - Додайте такий код унизу вашого файлу LocalSettings.php :
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
- На Linux установіть дозволи на виконання для двійкового файлу pygmentize. Для цього можна використати клієнт FTP або наступну команду оболонки:
chmod a+x /path/to/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize
- Готово – Перейдіть до Special:Version вашої вікі, щоб переконатися, що розширення встановлено успішно.
Встановлення з Vagrant:
- Якщо використовується Vagrant , встановіть з
vagrant roles enable syntaxhighlight --provision
Тому після встановлення з Git перейдіть до директорії, що містить розширення, наприклад,
"../extensions/SyntaxHighlight_GeSHi/"
та запустіть composer install --no-dev
, або при оновленні: composer update --no-dev
.Альтернативно, а також переважно, додайте рядок
"extensions/SyntaxHighlight_GeSHi/composer.json"
до файлу «composer.local.json» у кореневій директорії вашої Вікіпедії, наприклад
{
"extra": {
"merge-plugin": {
"include": [
"extensions/SyntaxHighlight_GeSHi/composer.json"
]
}
}
}
composer update --no-dev
. Voilà!
Конфігурація
$wgSyntaxHighlightMaxLines
and $wgSyntaxHighlightMaxBytes
(optional): For performance reasons, blobs or pages (JS, Lua and CSS pages) larger than these values will not be highlighted. (since 1.40)
- Linux
$wgPygmentizePath
(опційна): Абсолютний шлях до pygmentize з пакету Pygments. Розширення за замовчуванням збирає пакет Pygments і точки$wgPygmentizePath
у комплектну версію, але можна вказати на іншу версію, якщо хочете. Наприклад:$wgPygmentizePath = "/usr/local/bin/pygmentize";
.
- Windows
- Якщо ви розміщуєте свою MediaWiki на машині Windows, ви маєте встановити шлях для Pygmentize.exe
$wgPygmentizePath = "c:\\Python27\\Scripts\\pygmentize.exe";
- За відсутності
pygmentize.exe
запустітьeasy_install Pygments
з командного рядка всередині папкиScripts
для генерування файлу.
- За відсутності
При використанні комплектного двійкового файлу pygmentize (extensions/SyntaxHighlight_GeSHi/pygments/pygmentize) впевніться, що веб-сервер має дозвіл виконувати його.
Якщо ваш хост не дозволяє вам додавати виконавчі файли до веб-директорії, встановіть python-pygments і додайте $wgPygmentizePath = pygmentize
до LocalSettings.php
.
- Вирішення проблем
Після оновлення до MediaWiki v1.26 і вище деякі користувачі почали доповідати про проблеми з розширенням. Можливі випадки, коли деякі мови на кшталт Lua могли не підсвічуватися, а після увімкнення налагодження MediaWiki викидав помилку Notice: Failed to invoke Pygments: /usr/bin/env: python3: No such file or directory
.
- Спробуйте вказати
$wgPygmentizePath
уLocalSettings.php
просто до зовнішнього двійкового файлу pygmentize.
- In shared hosting environments with cPanel, this can be done by setting up a new Python application through the "Setup Python App" menu, and activating the virtual environment for the app through SSH (
source /virtualenv/python/3.5/bin/activate
). After this, the Pygments module can be added to the Python app, for which navigate to the virtual environment path (cd virtualenv/python/3.5/bin/
), download and install Pygments (./pip install Pygments
) and then activate the module by adding "Pygments" under the "Existing applications" section of the "Setup Python App" menu. This will create the required file at path:virtualenv/python/3.5/bin/pygmentize
- In shared hosting environments with cPanel, this can be done by setting up a new Python application through the "Setup Python App" menu, and activating the virtual environment for the app through SSH (
- Див. phab:T128993 щодо цього для подальших пропозицій та інформації.
- SELinux can also prevent the extension from running with an error similar to
type=AVC msg=audit(1609598265.169:225924): avc: denied { execute } for pid=2360888 comm="bash" name="pygmentize" dev="dm-0" ino=50814399 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_user_content_t:s0 tclass=file permissive=0
in your audit.log. This can be allowed withsetsebool -P httpd_unified 1
- In earlier versions of this extension, Windows would sometimes fail with an _Py_HashRandomization_Init error. This was a bug with the Windows environment not being passed to python executions. A fix was released in 1.40, with backports to 1.38 and 1.39.
Інтеграція з Візуальним редактором
Плагін дозволяє пряме редагування з Візуальним редактором.
Спливне вікно відкривається, коли користувач хоче редагувати розділи syntaxhighlight
.
Аби це працювало, Візуальний редактор повинен бути встановлений і налаштований з останньої версії на git, так само для Parsoid.
Можливість може не працювати зі старішими версіями Parsoid.
Детальніше див. Extension:SyntaxHighlight/VisualEditor
Розширено
На відміну від тегів <pre>
та <code>
, символьні сутності HTML на кшталт
не вимагають (і не повинні) екранування символу &
як &
.
Як тег <pre>
, але на відміну від тегу <code>
, теги всередині діапазону (іншого, ніж власний закривальний тег) не вимагає екранування символу <
як <
, а вікітекст не вимагає екранування тегом <nowiki>
.
Більше того, хоча <pre>
припускає табуляції щовісім символів і відображає їх за допомогою дійсних пропусків при копіюванні відображеного тексту, <syntaxhighlight>
використовує чотири-пропускні табуляції (за винятком Internet Explorer, який використовує 8) і зберігає символи табуляції у відображеному тексті; останнє може бути змінено за допомогою огородження тегом <span style="-moz-tab-size: nn; -o-tab-size: nn; tab-size: nn;">
(не <div>
і не використовуючи власний атрибут style
).
Префікс -moz-
вимагається для Firefox (з версії 4.0), а префікс -o-
вимагається для Opera (з версії 10.60 до 15).[2]
(Зауважте, що вікно редагування вікі припускає восьми-пропускні табуляції.)
Це застосовується лише для дійсних збережених сторінок, попередні перегляди, згенеровані через вікна редагування чи Special:ExpandTemplates можуть відрізнятися.
Див. також
- Pygments — Python syntax highlighter
- Розширення, залежні від цього:
- Extension:SyntaxHighlightPages — підсвічує сторінки на основі суфіксів заголовків.
- Альтернативні розширення:
- Extension:Highlightjs Integration — syntax highlighter that uses HighlightJS library (includes support for some languages that are missing from Pygments, such as Maxima).
- Extension:GoogleCodePrettify — підсвічувальник синтаксису, що використовує бібліотеку Google Code Prettify.
- Extension:ExternalContent — embed external content, such as code from GitHub, GitLab, and Bitkeeper repos with automatic rendering of Markdown files; and using syntax highlighting via the Prism.js library for nearly 300 supported languages. Content indexed by CirrusSearch
Примітки
Це розширення використовується в одному або декількох проєктах Вікімедіа. Це, мабуть, означає, що розширення стабільне і працює досить добре, щоб його могли використовувати веб-сайти з великим трафіком. Шукайте назву цього розширення у файлах конфігурації Wikimedia CommonSettings.php та InitialiseSettings.php, щоб побачити, де це встановлене. Повний перелік розширень, встановлених на певній вікі, можна переглянути на сторінці Special:Version вікі. |
Це розширення включено до таких вікі-ферм/хостів та/або пакетів: Це не авторитетний список. Деякі вікі-ферми/хости та/або пакунки можуть містити це розширення, навіть якщо вони не вказані тут. Завжди звертайтеся до своїх вікі-ферм/хостів або комплекту для підтвердження. |
- Extensions bundled with MediaWiki 1.21/uk
- Stable extensions/uk
- Tag extensions/uk
- GPL licensed extensions/uk
- Extensions in Wikimedia version control/uk
- ApiFormatHighlight extensions/uk
- ContentGetParserOutput extensions/uk
- ParserFirstCallInit extensions/uk
- ResourceLoaderRegisterModules extensions/uk
- SoftwareInfo extensions/uk
- All extensions/uk
- Extensions requiring Composer with git/uk
- Extensions used on Wikimedia/uk
- Extensions included in BlueSpice/uk
- Extensions included in Canasta/uk
- Extensions available as Debian packages/uk
- Extensions included in Fandom/uk
- Extensions included in Miraheze/uk
- Extensions included in MyWikis/uk
- Extensions included in ProWiki/uk
- Extensions included in semantic::core/uk
- Extensions included in ShoutWiki/uk
- Extensions included in wiki.gg/uk
- Extensions included in WikiForge/uk
- Syntax highlighting extensions/uk
- GeSHi extensions/uk
- Extensions with VisualEditor support/uk