CharInsertList/ru

From Wiki4Intranet
Jump to: navigation, search

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

  • Назначение: Аналогично CharInsert, но вместо ссылок вставляет выпадающие списки (для вставки конструкций при редактировании).
  • Репозиторий: https://github.com/mediawiki4intranet/CharInsertList
  • Домашняя страница: http://wiki.4intra.net/CharInsertList
  • Лицензия: GPLv2.0+ 
  • Дата создания: 2010-04-05 
  • Оценка расширения: Вероятно полезное (4)

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

  • Дата включения: 2010-04-05
  • Включённая версия: последняя
  • Состояние доработок: Создано в рамках MediaWiki4Intranet

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

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» — собственно смысл этого расширения, три категории помеченные краткими ключами.

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

<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";