Difference between revisions of "CharInsertList"

From Wiki4Intranet
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Расширение, похожее на [[mediawikiwiki:Extension:CharInsert|CharInsert]], полезное исключительно для использования с «EditTools», и позволяющее вставлять выпадающие списки для вставки шаблонов, аналогичных CharInsert’овским.
+
{{Extension4info
 +
|name=CharInsertList
 +
|description en=Similar to [[CharInsert]], but inserts drop-down lists instead of links (used to insert predefined text during edit).
 +
|description ru=Аналогично [[CharInsert]], но вместо ссылок вставляет выпадающие списки (для вставки конструкций при редактировании).
 +
|created=2010-04-05
 +
|included=2010-04-05
 +
|status=our
 +
|useful=likely
 +
}}
 +
{{ExtensionFromInfo|lang=en|name=CharInsertList}}
  
== Установка ==
+
== Usage ==
  
Просто скопируйте исходный код расширения в поддиректорию <tt>extensions/CharInsertList/</tt> установки MediaWiki и добавьте в <tt>LocalSettings.php</tt> строчку:
+
Insert the following tag to [[MediaWiki:Edittools]] (or, with [[UserMessage]] extension, to a personal [[MediaWiki:Edittools@{{USERNAME}}]]).
<source lang="php">
+
require_once "extensions/CharInsertList/CharInsertList.php";
+
</source>
+
  
== Использование ==
+
* type=dropdown (default) generates &lt;select>boxes.
 
+
* type=links is similar to normal [[CharInsert]] output with hyperlinks, but ''Item Names'' will be used for link text.
'''EditTools''' — это ваш персональный набор средств редактирования, который задается на страничке [[MediaWiki:Edittools]], или, при установленном расширении [[UserMessage (MediaWiki)|UserMessage]] (например, в составе сборки [[Mediawiki4Intranet]]), личной [[MediaWiki:Edittools@{{USERNAME}}]], и показывается под блоком редактирования текста.
+
 
+
Эту страницу можно персонализировать, вставляя на нее всякие штуки, чтобы при редактировании этот блок показывал разные виджеты, нажимая на которые, в текст будут вставлятся редкие символы или длинные строковые последовательности (которые лень вспоминать и набивать руками).
+
 
+
Расширение предоставляет тег <tt><nowiki><listinsert></nowiki></tt>, в котором перечисляется список пар вида «<tt>'''имя=текст'''</tt>», и который при показе преобразуется в выпадающий список с именами. При выборе из этого списка какого-то элемента по имени, соответствующий <tt>'''текст'''</tt> аналогично [[mediawikiwiki:Extension:CharInsert|CharInsert]]'у вставляется в окно редактирования.
+
 
+
Этот <tt>'''текст'''</tt> может быть многострочным и содержать «место для курсора». На место курсора либо подставляется выделенный до вставки редактируемый текст, либо просто устанавливается курсор, если нет выделения.
+
 
+
=== Синтаксис ===
+
 
+
Синтаксис использования:
+
 
+
<pre>
+
<listinsert [атрибуты]>
+
Имя Шаблона = Текст Шаблона
+
Имя Шаблона = Длинный и многострочный \
+
              текст \
+
              шаблона
+
Имя Шаблона = То_что_вставить_перед_курсором + То_что_вставить_после_курсора
+
Имя Шаблона = А вот это простой символ \+, а не место курсора (со слэшем)
+
</listinsert>
+
</pre>
+
 
+
[атрибуты] копируются в атрибуты HTML-тега <tt>&lt;select></tt> без каких-либо изменений.
+
 
+
Usage Syntax (English):
+
  
 
<pre>
 
<pre>
<listinsert [attributes]>
+
<listinsert [type=links|dropdown] [attributes]>
 
Item Name = Item Text
 
Item Name = Item Text
 
Item Name = Long and multiline \
 
Item Name = Long and multiline \
Line 50: Line 30:
 
[attributes] are copied to HTML <tt>&lt;select></tt> attributes without any change.
 
[attributes] are copied to HTML <tt>&lt;select></tt> attributes without any change.
  
== Примеры ==
+
== Installation ==
 
+
Например, некоторые категории используются особенно часто. Можно завести блок специально для того, чтобы не набивать их руками:
+
<pre><nowiki>
+
<div  style="float:left">Активные категории:
+
<listinsert  style="background-color:lightblue">
+
Взял  = [[Category:Взял Стас Фомин]]
+
CustisWikiToLib  = [[Category:CustisWikiToLib]]
+
Архив  = [[Category:CustisGarbage]]
+
</listinsert>
+
</div>
+
</nowiki></pre>
+
 
+
* «div style="float:left"» — это просто плавающий блок с выравниванием влево, так проще делать, если у вас будет много таких блоков.
+
* «Активные категории» — это поясняющая метка
+
* «listinsert» — собственно смысл этого расширения, три категории помеченные краткими ключами.
+
 
+
Теперь посложнее — сделаем подстановку длинных, часто используемых вами «конструктов» — относительно длинных блоков текста (опять на примере моих):
+
 
+
<pre><nowiki>
+
<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></pre>
+
 
+
То есть здесь последовательно:
+
;<tt>nowiki</tt>: заключить выделенное в блок, где не обрабатывается разметка. Обратите внимание на «<tt>+</tt>» — туда как раз подставится выделенный блок текста, или просто курсор, если ничего не выделено.
+
;digraph: шаблон направленного графа для [[Graphviz]]. Обратите внимание на многострочную запись — продление текста через символ «<tt>\</tt>» в конце строки.
+
;CONFIDENTIAL: выделение конфиденциальной информации, не реплицируемой в другую вики.
+
;includeonly: то, что выводится, только будучи включенным в другую статью.
+
;noinclude: то, что не выводится, будучи включенным в другую статью.
+
;blockquote: для цитирования большого блока текста (с красивой рамочкой).
+
;htmlobj: вставка какого-то мультимедиа объекта, представимого здоровым HTML-кодом (видео там, или презентации).
+
;tolib: шаблон репликации во внешнюю вики-систему.
+
;refs: горизонтальная черта, под которой коллекция сносок.
+
;poll: набросок типичного голосования.
+
;dir: вставка «каталога» вложенных статей.
+
+
В любом случае, вы можете скопировать текст из моих настроек в статье
+
[[MediaWiki:Edittools@StasFomin]] и вставить в свою [[MediaWiki:Edittools@{{USERNAME}}]],
+
ну а потом доработать по вкусу — выкинуть ненужное, добавить нужное.
+
  
И кстати — эта статья всегда рядом и доступна для редактирования — написав что-то длинное и поняв, что этот блок придется вставлять часто → не поленитесь, тут же добавьте его в вашу
+
Add the following into your LocalSettings.php:
[[MediaWiki:Edittools@{{USERNAME}}]].
+
  
[[Category:MediaWiki]]
+
<code-php>
{{replicate-from-custiswiki-to-tools}}
+
require_once "$IP/extensions/CharInsertList/CharInsertList.php";
 +
</code-php>

Latest revision as of 16:39, 12 July 2013

CharInsertList is a MediaWiki extension.

Status for Mediawiki4Intranet distribution:

  • Inclusion date: 2010-04-05
  • Included version: newest available
  • Improvement status: Created by MediaWiki4Intranet project

Usage

Insert the following tag to MediaWiki:Edittools (or, with UserMessage extension, to a personal MediaWiki:Edittools@3.144.90.108).

  • type=dropdown (default) generates <select>boxes.
  • type=links is similar to normal CharInsert output with hyperlinks, but Item Names will be used for link text.
<listinsert [type=links|dropdown] [attributes]>
Item Name = Item Text
Item Name = Long and multiline \
            Item Text
Item Name = What_is_inserted_before_cursor + What_is_inserted_after_cursor \
            CharInsert-like syntax
Item Name = This is a real \+ character, not cursor marker (with slash)
</listinsert>

[attributes] are copied to HTML <select> attributes without any change.

Installation

Add the following into your LocalSettings.php:

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