CharInsertList — расширение MediaWiki.

Включение в сборку Mediawiki4Intranet:

Contents

Использование

EditTools — это ваш персональный набор средств редактирования, который задается на страничке MediaWiki:Edittools, или, при установленном расширении UserMessage (например, в составе сборки Mediawiki4Intranet), личной MediaWiki:Edittools@18.215.161.19, и показывается под блоком редактирования текста.

Эту страницу можно персонализировать, вставляя на нее всякие штуки, чтобы при редактировании этот блок показывал разные виджеты, нажимая на которые, в текст будут вставлятся редкие символы или длинные строковые последовательности (которые лень вспоминать и набивать руками).

Расширение предоставляет тег <listinsert>, в котором перечисляется список пар вида «имя=текст», и который при показе преобразуется в выпадающий список с именами. При выборе из этого списка какого-то элемента по имени, соответствующий текст аналогично CharInsert'у вставляется в окно редактирования.

Этот текст может быть многострочным и содержать «место для курсора». На место курсора либо подставляется выделенный до вставки редактируемый текст, либо просто устанавливается курсор, если нет выделения.

Синтаксис

Синтаксис использования:

<listinsert [type=links|dropdown] [атрибуты]>
Имя Шаблона = Текст Шаблона
Имя Шаблона = Длинный и многострочный \
              текст \
              шаблона
Имя Шаблона = То_что_вставить_перед_курсором + То_что_вставить_после_курсора
Имя Шаблона = А вот это простой символ \+, а не место курсора (со слэшем)
</listinsert>

Атрибут type — тип отображения. dropdown — значение по умолчанию, и означает, что отображаться будет выпадающий HTML-список (<select>). Значение links же означает, что выводиться будут отдельные ссылки, идентично обычному CharInsert за тем исключением, что текстом ссылки будет выступать не текст шаблона, а его имя.

[атрибуты] копируются в атрибуты генерируемых HTML-тегов (<select> или <a>) без каких-либо изменений. В них, например, можно указать стили (style="...").

Примеры

Например, некоторые категории используются особенно часто. Можно завести блок специально для того, чтобы не набивать их руками:

<div  style="float:left">Активные категории: 
<listinsert  style="background-color:lightblue">
Взял  = [[Категория:Взял Стас Фомин]]
CustisWikiToLib  = [[Категория:CustisWikiToLib]]
Архив  = [[Категория:CustisGarbage]]
</listinsert>
</div>

Теперь посложнее — сделаем подстановку длинных, часто используемых вами «конструктов» — относительно длинных блоков текста (опять на примере моих):

<div  style="float:left"> Конструкты  
<listinsert   style="background-color:lightgray">
nowiki  = <prе><nоwiki>\
+\
</nоwiki></prе>
digraph = <graph>\
digraph G{node  [style=filled fillcolor=aliceblue] edge[color=blue] \
+ \
} \
</graph> 
CONFIDENTIAL = includeonly = <includeonly>\
+\
</includeonly>
noinclude  = <noinclude>\
+\
</noinclude>
blockquote  = <blockquote>\
+\
</blockquote>
htmlobj = <html><center>\
+\
</center></html>
tolib  = {{replicate-from-custiswiki-to-lib}}
refs = ----\
<references/>
poll = <poll> \
ALTERNATIVE \
AUTHORIZED  \
Как насчет  \
Очень хотим этого! \
Неплохо бы \
Все равно  \
Против \
</poll>
</listinsert>
</div>

То есть здесь последовательно:

nowiki
заключить выделенное в блок, где не обрабатывается разметка. Обратите внимание на «+» — туда как раз подставится выделенный блок текста, или просто курсор, если ничего не выделено.
digraph
шаблон направленного графа для Graphviz. Обратите внимание на многострочную запись — продление текста через символ «\» в конце строки.
CONFIDENTIAL
выделение конфиденциальной информации, не реплицируемой в другую вики.
includeonly
то, что выводится, только будучи включенным в другую статью.
noinclude
то, что не выводится, будучи включенным в другую статью.
blockquote
для цитирования большого блока текста (с красивой рамочкой).
htmlobj
вставка какого-то мультимедиа объекта, представимого здоровым HTML-кодом (видео там, или презентации).
tolib
шаблон репликации во внешнюю вики-систему.
refs
горизонтальная черта, под которой коллекция сносок.
poll
набросок типичного голосования.
dir
вставка «каталога» вложенных статей.

В любом случае, вы можете скопировать текст из моих настроек в статье MediaWiki:Edittools@StasFomin и вставить в свою MediaWiki:Edittools@18.215.161.19, ну а потом доработать по вкусу — выкинуть ненужное, добавить нужное.

И кстати — эта статья всегда рядом и доступна для редактирования — написав что-то длинное и поняв, что этот блок придется вставлять часто → не поленитесь, тут же добавьте его в вашу MediaWiki:Edittools@18.215.161.19.

Установка

Процедура установки — стандартная, через LocalSettings.php:

require_once "$IP/extensions/CharInsertList/CharInsertList.php";