미디어위키/미디어위키 익스텐션

미디어위키(Mediawiki) 설치 권장 추가 익스텐션(Extension) CharInsert 설치와 활용

씨실과 날실 2020. 7. 1. 09:00

[익스텐션 목록]

기본 익스텐션

2019/10/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Interwiki 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Nuke 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Renameuser 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CiteThisPage 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Replace Text 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) WikiEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CodeEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CategoryTree 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Cite 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ImageMap 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) InputBox 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ParserFunctions 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Poem 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SyntaxHighlight 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) PDF Handler 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ConfirmEdit 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SpamBlacklist 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) TitleBlacklist 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Gadgets 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) LocalisationUpdate 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) MultimediaViewer 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) OATHAuth 설치와 활용




추천 추가 익스텐션





익스텐션 연재 목록




[CharInsert 익스텐션 관련 정보]

익스텐션 공식 안내 페이지

https://www.mediawiki.org/wiki/Extension:CharInsert

다운로드

미디어위키 내 배포 페이지

https://www.mediawiki.org/wiki/Special:ExtensionDistributor/CharInsert

github 페이지

https://github.com/wikimedia/mediawiki-extensions-CharInsert


CharInsert 익스텐션 기능

CharInsert 익스텐션은 미리 정의된 문자나 문자 집합을 위키 문서 편집 상자에 삽입하는 자바스크립트 링크를 만드는 기능을 제공합니다.

이 익스텐션은 사용자가 위키 문서에 문자를 삽입할 때도 사용되지만 그보다는 일반적으로 MediaWiki:Edittools 시스템 메시지에서 사용됩니다.




익스텐션 다운로드 및 설치

다운로드 안내

익스텐션 다운로드 및 설치 방법은 아래 링크를 참고하시기 바랍니다.


사용 중인 미디어위키의 버전에 맞는 배포 익스텐션 압축 파일을 다운로드받습니다.

익스텐션 공식 배포처

미디어위키 내 배포 페이지

github 페이지




미디어위키 버전별 익스텐션 다운로드 주소

1.34

https://extdist.wmflabs.org/dist/extensions/CharInsert-REL1_34-5c2b385.tar.gz

1.33

https://extdist.wmflabs.org/dist/extensions/CharInsert-REL1_33-0d30b1a.tar.gz

1.32


1.31

https://extdist.wmflabs.org/dist/extensions/CharInsert-REL1_31-b5f34be.tar.gz

위 주소는 코드 수정으로 바뀔 수 있으므로 다운이 받아지지 않는다면 위 공식 루트를 통해 다운받으시기 바라비니다.

다운로드 받은 압축 파일을 서버 안 미디어위키 설치 폴더 내에 있는  extensions폴더 안에 풀어줍니다.

리눅스 서버의 경우

$ sudo tar -xzf CharInsert-REL1_34-5c2b385.tar.gz -C /미디어위키 설치 경로/extensions


study@study-VirtualBox:~/MW_Ext$ wget https://extdist.wmflabs.org/dist/extensions/CharInsert-REL1_31-b5f34be.tar.gz
--2020-06-09 14:41:33--  https://extdist.wmflabs.org/dist/extensions/CharInsert-REL1_31-b5f34be.tar.gz
Resolving extdist.wmflabs.org (extdist.wmflabs.org)... 185.15.56.49
접속 extdist.wmflabs.org (extdist.wmflabs.org)|185.15.56.49|:443... 접속됨.
HTTP request sent, awaiting response... 200 OK
Length: 22228 (22K) [application/octet-stream]
Saving to: ‘CharInsert-REL1_31-b5f34be.tar.gz’

CharInsert-REL1_31- 100%[===================>]  21.71K  --.-KB/s    in 0.005s  

2020-06-09 14:41:34 (4.40 MB/s) - ‘CharInsert-REL1_31-b5f34be.tar.gz’ saved [22228/22228]

study@study-VirtualBox:~/MW_Ext$ 


study@study-VirtualBox:~/MW_Ext$ sudo tar -xzf CharInsert-REL1_31-b5f34be.tar.gz -C /var/www/html/w/extensions
[sudo] study의 암호: 
study@study-VirtualBox:~/MW_Ext$ 


예시 - Ubuntu

$ sudo tar -xzf CharInsert-REL1_34-5c2b385.tar.gz -C /var/www/html/w/extensions

위 명령은 제 블로그를 그대로 따라오신 분의 경우 적용되는 예시입니다.


윈도 서버의 경우

탐색기로 압축 파일을 해당 위치에 풀어주시면 됩니다.


호스팅을 받는 경우

파일질라, 알FTP 등 FTP 프로그램을 이용해 미리 풀어 놓은 익스텐션 폴더(SpamBlacklist)를 통째로 해당 위치에 전송해줍니다.




CharInsert 익스텐션 필수 설정

미디어위키의 환경 설정 파일인 LocalSettings.php 파일에 다음과 같은 코드를 추가해줍니다.

wfLoadExtension( 'CharInsert' );


설치 확인

미디어위키의 특수:버전(= Special:Version) 문서를 확인하면 위 익스텐션이 추가된 것을 확인할 수 있습니다.




CharInsert 익스텐션 사용법

일반 사용법

CharInsert 익스텐션을 설치한 후 위 그림에 나타난 것처럼 구문에 맞춰 작성해주시면 됩니다.

(위 그림에서 사용된) 구문 사용례

<charinsert><nowiki>== + ==</nowiki> <nowiki>{{stub}}</nowiki></charinsert>

<charinsert>Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź</charinsert>

<charinsert>“+” ‘+’ «+» ‹+› „+“ ‚+‘ [[+]] {{+}}</charinsert>

위키에서 사용되는 태그 내부에 + 부호를 사용하여 다음과 같은 기능을 정의할 수 있습니다.

선택한 텍스트를 삽입하거나
선택된 텍스트가 없으면 커서를 놓습니다.


구문에 맞춰 올바르게 작성하면 각 문자가 위 그림처럼 표시됩니다.

== == {{stub}}

Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź

“” ‘’ «» ‹› „“ ‚‘ [[]] {{}}

<charinsert> </charinsert> 태그를 사용해 삽입한 문자는 마우스로 클릭할 수 있습니다만 누른다고 해서 어떤 효과가 발생하지는 않습니다.


위키 편집화면 하단 Edittools 활용

Edittools(MediaWiki:Edittools) 문서를 편집하여 위키 문서 편집 시 자주 사용되는 문자나 태그를 손쉽게 입력할 수 있는 문자 입력 상자를 추가할 수 있습니다.


위 그림은 한국어 위키백과에서 사용 중인 Edittools 화면입니다.


2018년 1월 15일에 마지막으로 편집된, 한국어 위키백과의 미디어위키:Edittools 문서 원본 소스입니다.

<div id="specialchars" class="my-buttons" style="margin-top:10px; border-style:solid; border-width:1px; border-color:#aaaaaa; padding:1px; text-align:center; font-size:120%;">
<p class="specialbasic" id="Standard">
<charinsert><nowiki>|</nowiki></charinsert>
<charinsert>[+]</charinsert> <charinsert>[[+]]</charinsert> <charinsert><nowiki>{{</nowiki>+<nowiki>}}</nowiki></charinsert>
<charinsert>〈+〉</charinsert> <charinsert>《+》</charinsert> <charinsert>‘+’</charinsert> <charinsert>“+”</charinsert>
<br />
<charinsert>· … × ÷ ¹ ² ³ ½ € † ← → ° ′ ″ ―</charinsert>
<charinsert><math>+</math></charinsert>
<br />
<charinsert><!--+--></charinsert>
<charinsert><del>+</del></charinsert>
<charinsert><ref>+</ref></charinsert>
<charinsert><nowiki><references /></nowiki></charinsert>
<br />
<charinsert>{{풀기:+}}</charinsert>
<charinsert>[[분류:+]]</charinsert>
<charinsert><nowiki>#넘겨주기 [[+]]</nowiki></charinsert>
<charinsert><nowiki>{{</nowiki>기본정렬:+<nowiki>}}</nowiki></charinsert>
<br />
<charinsert><nowiki>{{토막글|</nowiki>+<nowiki>}}</nowiki></charinsert>
<charinsert><nowiki>{{IPA|</nowiki>+<nowiki>}}</nowiki></charinsert>
<charinsert><nowiki>{{lang||</nowiki>+<nowiki>}}</nowiki></charinsert>
<charinsert><nowiki>{{llang||</nowiki>+<nowiki>}}</nowiki></charinsert>
</p>
</div>



위 그림은 한국어 위키백과의 Edittools 소스를 그대로 연재용 위키에 적용한 화면입니다.

모양이 약간 다른 것은 한국어 위키백과에 적용된 CSS 및 JS 코드를 적용하지 않았기 때문입니다.


위 그림은 미디어위키를 배토하는 미디어위키 공식 사이트의 Edittools 화면입니다.

한국어 위키백과와 달리 방대한 양의 문자 및 편집용 구문이 섹션별로 나누어져 있습니다.


아래는 2020년 6월 20일에 마지막으로 편집된 미디어위키 공식사이트의 MediaWiki:Edittools 문서 원본 소스입니다.


<!-- Text here will be shown below edit and upload forms. -->
<!-- Please don't translate this page with sub pages (it will render support of that menu for your language very likely unmaintainable) -->
<div id="mw-edittools-charinsert" class="mw-charinsert-buttons" title="Click on the wanted special character.">
<p class="mw-edittools-section" data-section-title="Standard">&nbsp; 
<charinsert>[+]</charinsert> ·
<charinsert>[[+]]</charinsert> ·
<charinsert>[[+|]]</charinsert> ·
<charinsert>{{+}}</charinsert> ·
<charinsert>– —</charinsert> ·
<charinsert>“+” ‘+’ «+» ‹+› „+“ ‚+‘</charinsert> ·
<charinsert>… ~ | ° <nowiki>&</nowiki>nbsp;</charinsert> ·
<charinsert>≈ ≠ ≤ ≥ ± − × ÷ ← → ² ³ ½ · §</charinsert>
<br />   
<charinsert>[[Category:+]]</charinsert> ·
<charinsert>[[:File:+]]</charinsert> ·
<charinsert>[[Special:MyLanguage/+]]</charinsert> ·
<charinsert><code>+</code></charinsert> ·
<charinsert>&lt;nowiki>+</nowiki></charinsert>&nbsp;<charinsert><code><nowiki>&lt;nowiki>+&lt;/nowiki></code></nowiki></charinsert> ·
<charinsert><nowiki><syntaxhighlight lang="php"></nowiki>+</syntaxhighlight></charinsert> ·
<charinsert><includeonly>+</includeonly></charinsert> ·
<charinsert><noinclude>+</noinclude></charinsert> ·
<charinsert>#REDIRECT[[+]]</charinsert> ·
<charinsert>&lt;translate>+&lt;/translate></charinsert> ·
<charinsert><languages/></charinsert> ·
<charinsert>&#123;&#123;#translation:&#125;&#125;</charinsert> ·
<charinsert>&lt;tvar|>+&lt;/></charinsert> ·
<charinsert>&#123;&#123;DEFAULTSORT:+&#125;&#125;</charinsert> ·
<charinsert><s>+</s></charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Latin" style="display: none;">
<charinsert>Á á Ć ć É é Í í Ó ó Ś ś Ú ú Ý ý Ǿ ǿ </charinsert> ·
<charinsert>À à È è Ì ì Ò ò Ù ù </charinsert> ·
<charinsert>Â â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô ŝ Ŝ Û û </charinsert> ·
<charinsert>Ä ä Ë ë Ï ï Ö ö Ü ü ÿ </charinsert> ·
<charinsert>Ã ã Ñ ñ Õ õ </charinsert> ·
<charinsert>Å å </charinsert> ·
<charinsert>Ç ç </charinsert> ·
<charinsert>Č č Š š ŭ </charinsert> ·
<charinsert>Ł ł </charinsert> ·
<charinsert>Ő ő Ű ű </charinsert> ·
<charinsert>Ø ø </charinsert> ·
<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū </charinsert> ·
<charinsert>ß ẞ </charinsert> ·
<charinsert>Æ æ Œ œ </charinsert> ·
<charinsert>Ð ð Þ þ |</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Greek" style="display: none;" >
<charinsert>Α Ά Β Γ Δ Ε Έ Ζ Η Ή Θ Ι Ί Κ Λ Μ Ν Ξ Ο Ό Π Ρ Σ Τ Υ Ύ Φ Χ Ψ Ω Ώ</charinsert> ·
<charinsert>α ά β γ δ ε έ ζ η ή θ ι ί κ λ μ ν ξ ο ό π ρ σ ς τ υ ύ φ χ ψ ω ώ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Cyrillic" style="display: none;">
<charinsert>А Б В Г Д Ђ Е Ё Ж З Ѕ И Й Ј К Л Љ М Н Њ О П Р С Т Ћ У Ф Х Ц Ч Џ Ш Щ Ъ Ы Ь Э Ю Я </charinsert> ·
<charinsert>а б в г д ђ е ё ж з ѕ и й ј к л љ м н њ о п р с т ћ у ф х ц ч џ ш щ ъ ы ь э ю я </charinsert>
</p>

<p class="mw-edittools-section" data-section-title="IPA" style="display: none;">
<charinsert> ʈ ɖ ɟ ɡ ɢ ʡ ʔ </charinsert> ·
<charinsert> ɸ ʃ ʒ ɕ ʑ ʂ ʐ ʝ ɣ ʁ ʕ ʜ ʢ ɦ </charinsert> ·
<charinsert> ɱ ɳ ɲ ŋ ɴ </charinsert> ·
<charinsert> ʋ ɹ ɻ ɰ </charinsert> ·
<charinsert> ʙ ʀ ɾ ɽ </charinsert> ·
<charinsert> ɫ ɬ ɮ ɺ ɭ ʎ ʟ </charinsert> ·
<charinsert> ɥ ʍ ɧ </charinsert> ·
<charinsert> ɓ ɗ ʄ ɠ ʛ </charinsert> ·
<charinsert> ʘ ǀ ǃ ǂ ǁ </charinsert> ·
<charinsert> ɨ ʉ ɯ </charinsert> ·
<charinsert> ɪ ʏ ʊ </charinsert> ·
<charinsert> ɘ ɵ ɤ </charinsert> ·
<charinsert> ɚ </charinsert> ·
<charinsert> ɛ ɜ ɝ ɞ ʌ ɔ </charinsert> ·
<charinsert> ɐ ɶ ɑ ɒ </charinsert> ·
<charinsert> ʰ ʷ ʲ ˠ ˤ ⁿ ˡ </charinsert> ·
<charinsert> ˈ ˌ ː ˑ </charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Arabic" style="display: none;">
<span dir="rtl" style="font-size:120%;">
<charinsert>ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي</charinsert> ·
<charinsert>ﺍ ﺑ ﺗ ﺛ ﺟ ﺣ ﺧ ﺩ ﺫ ﺭ ﺯ ﺳ ﺷ ﺻ ﺿ ﻃ ﻇ ﻋ ﻏ ﻓ ﻗ ﻛ ﻟ ﻣ ﻧ ﻫ ﻭ ﻳ</charinsert> ·
<charinsert>ﺍ ﺒ ﺘ ﺜ ﺠ ﺤ ﺨ ﺪ ﺬ ﺮ ﺰ ﺴ ﺸ ﺼ ﻀ ﻄ ﻈ ﻌ ﻐ ﻔ ﻘ ﻜ ﻠ ﻤ ﻨ ﻬ ﻮ ﻴ</charinsert> ·
<charinsert>ﺎ ﺐ ﺖ ﺚ ﺞ ﺢ ﺦ ﺪ ﺬ ﺮ ﺰ ﺲ ﺶ ﺺ ﺾ ﻂ ﻆ ﻊ ﻎ ﻒ ﻖ ﻚ ﻞ ﻢ ﻦ ﻪ ﻮ ﻲ</charinsert> ·
<charinsert>ء- ّ- ْ- ً- ِ- آ أ إ ة ؤ ئ ى</charinsert> ·
<charinsert>پ چ ژ گ ﭪ &#1696; ۰ ۱ ۲ ۳ ٤ ٥ ٦ ٧ ۸ ۹</charinsert>
</span>
</p>

<p class="mw-edittools-section" data-section-title="Catalan" style="display: none;">
<charinsert>Á á À à Ç ç É é È è Ë ë Í í Ï ï Ó ó Ò ò Ö ö Ú ú Ù ù</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Czech" style="display: none;">
<charinsert>Á á Č č Ď ď É é Ě ě Í í Ň ň Ó ó Ř ř Š š Ť ť Ú ú Ů ů Ý ý Ž ž</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Devanāgarī" style="display: none;">
<charinsert>ँ ं ः अ आ इ ई उ ऊ ऋ ऌ ऍ ऎ ए ऐ ऑ ऒ ओ औ क क़ ख ख़ ग ग़ घ ङ च छ ज ज़ झ ञ ट ठ ड ड़ द ढ ढ़ ण त थ ध न ऩ प फ फ़ ब भ म य य़ र ऱ ल ळ ऴ व श ष स ह ़ ऽ ा ि ॊ ो ौ ् ी ु ू ृ ॄ ॅ ॆ े ै ॉ ॐ ॑ ॒ ॓ ॔ ॠ ॡ ॢ ॣ । ॥ ॰</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Esperanto" style="display: none;">
<charinsert>Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Estonian" style="display: none;">
<charinsert>Č č Š š Ž ž Õ õ Ä ä Ö ö Ü ü</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="French" style="display: none;">
<charinsert>À à  â Ç ç É é È è Ê ê Ë ë Î î Ï ï Ô ô Œ œ Ù ù Û û Ü ü Ÿ ÿ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="German" style="display: none;">
<charinsert>Ä ä Ö ö Ü ü ß ẞ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Hawaiian" style="display: none;">
<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū ʻ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Hebrew" style="display: none;">
<charinsert>א ב ג ד ה ו ז ח ט י כ ך ל מ ם נ ן ס ע פ ף צ ץ ק ר ש ת ־ ״ ׳</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Hungarian" style="display: none;">
<charinsert>Ő ő Ű ű</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Icelandic" style="display: none;">
<charinsert>Á á Ð ð É é Í í Ó ó Ú ú Ý ý Þ þ Æ æ Ö ö</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Italian" style="display: none;">
<charinsert>Á á À à É é È è Í í Ì ì Ó ó Ò ò Ú ú Ù ù</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Latvian" style="display: none;">
<charinsert>Ā ā Č č Ē ē Ģ ģ Ī ī Ķ ķ Ļ ļ Ņ ņ Š š Ū ū Ž ž</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Lithuanian" style="display: none;">
<charinsert>Ą ą Č č Ę ę Ė ė Į į Š š Ų ų Ū ū Ž ž</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Maltese" style="display: none;">
<charinsert>Ċ ċ Ġ ġ Ħ ħ Ż ż</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Old English" style="display: none;">
<charinsert>Ā ā Æ æ Ǣ ǣ Ǽ ǽ Ċ ċ Ð ð Ē ē Ġ ġ Ī ī Ō ō Ū ū Ƿ ƿ Ȳ ȳ Þ þ Ȝ ȝ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Pinyin" style="display: none;">
<charinsert>Á á À à Ǎ ǎ Ā ā É é È è Ě ě Ē ē Í í Ì ì Ǐ ǐ Ī ī Ó ó Ò ò Ǒ ǒ Ō ō Ú ú Ù ù Ü ü Ǔ ǔ Ū ū Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Polish" style="display: none;">
<charinsert>ą Ą ć Ć ę Ę ł Ł ń Ń ó Ó ś Ś ź Ź ż Ż</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Portuguese" style="display: none;">
<charinsert>Á á À à Â â Ã ã Ç ç É é Ê ê Í í Ó ó Ô ô Õ õ Ú ú Ü ü</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Romaji" style="display: none;">
<charinsert>Ā ā Ē ē Ī ī Ō ō Ū ū</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Romanian" style="display: none;">
<charinsert>Ă ă Â â Î î Ş ş Ţ ţ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Scandinavian" style="display: none;">
<charinsert>À à É é Å å Æ æ Ä ä Ø ø Ö ö</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Serbian" style="display: none;">
<charinsert>А а Б б В в Г г Д д Ђ ђ Е е Ж ж З з И и Ј ј К к Л л Љ љ М м Н н Њ њ О о П п Р р С с Т т Ћ ћ У у Ф ф Х х Ц ц Ч ч Џ џ Ш ш</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Spanish" style="display: none;">
<charinsert>Á á É é Í í Ñ ñ Ó ó Ú ú Ü ü ¡ ¿</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Turkish" style="display: none;">
<charinsert>Ç ç Ğ ğ İ ı Ö ö Ş ş Ü ü Â â Î î Û û</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Vietnamese" style="display: none;">
<charinsert>À à Ả ả Á á Ạ ạ Ã ã Ă ă Ằ ằ Ẳ ẳ Ẵ ẵ Ắ ắ Ặ ặ Â â Ầ ầ Ẩ ẩ Ẫ ẫ Ấ ấ Ậ ậ Đ đ È è Ẻ ẻ Ẽ ẽ É é Ẹ ẹ Ê ê Ề ề Ể ể Ễ ễ Ế ế Ệ ệ Ỉ ỉ Ĩ ĩ Í í Ị ị Ì ì Ỏ ỏ Ó ó Ọ ọ Ò ò Õ õ Ô ô Ồ ồ Ổ ổ Ỗ ỗ Ố ố Ộ ộ Ơ ơ Ờ ờ Ở ở Ỡ ỡ Ớ ớ Ợ ợ Ù ù Ủ ủ Ũ ũ Ú ú Ụ ụ Ư ư Ừ ừ Ử ử Ữ ữ Ứ ứ Ự ự Ỳ ỳ Ỷ ỷ Ỹ ỹ Ỵ ỵ Ý ý</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Welsh" style="display: none;">
<charinsert>Á á À à Â â Ä ä É é È è Ê ê Ë ë Ì ì Î î Ï ï Ó ó Ò ò Ô ô Ö ö Ù ù Û û Ẁ ẁ Ŵ ŵ Ẅ ẅ Ý ý Ỳ ỳ Ŷ ŷ Ÿ ÿ</charinsert>
</p>

<p class="mw-edittools-section" data-section-title="Yiddish" style="display: none;">
<charinsert> א אַ אָ ב בֿ ג ד ה ו וּ װ ױ ז זש ח ט י יִ ײ ײַ כ ך כּ ל ל+ מ ם נ ן ס ע ע+ פ פּ פֿ ף צ ץ ק ר ש שׂ תּ ת ׳ ״ ־ </charinsert>
</p>
</div>


위 그림은 미디어위키 공식 사이트의 Edittools 소스를 그대로 연재용 위키에 적용한 화면입니다.


Edittools 문서 작성법

CharInsert 링크가 많은 경우 JavaScript를 사용하여 링크를 별도의 그룹에 배치하고 드롭 다운 메뉴로 동적 전환을 허용 할 수 있습니다.

1. MediaWiki : Edittools의 모든 charinsert 태그를 <div> 컨테이너에 싸서 설명적이고 고유 한 ID를 지정하십시오 (예 : "mw-edittools-charinsert").

<div id="mw-edittools-charinsert" class="mw-charinsert-buttons" title="Click on the wanted special character.">
...
</div>


<div id="specialchars" class="my-buttons" style="margin-top:10px; border-style:solid; border-width:1px; border-color:#aaaaaa; padding:1px; text-align:center; font-size:120%;">
- 중략 -
</div>


2. 다음과 같이 각각의 개별 charinserts 블록을 p 태그로 랩핑하십시오.

<p class="mw-edittools-section" data-section-title="Wiki-Syntax" style="display: none;">
...
</p>


<p class="mw-edittools-section" data-section-title="Standard">&nbsp; 
- 중략 -
</p>

<p class="mw-edittools-section" data-section-title="Latin" style="display: none;">
- 중략 -
</p>

<p class="mw-edittools-section" data-section-title="Greek" style="display: none;" >
- 중략 -
</p>


Edittools 문서 작성 시 주의사항

'mw-edittools-section'이라는 단어를 바꾸지 마십시오.

"data-section-title ="뒤에 있는 텍스트는 드롭 다운 메뉴에서 해당그룹을 식별하는 이름입니다.

'style = "display : none;"' 지시어가 없는 그룹이 드롭 다운 메뉴에서 기본 선택 그룹입니다.

삽입할 문자나 태그들의 꾸러미는 <charinsert> </charinsert> 태그 사이에 적어줍니다.


위키 문서 편집 화면 하단 Edittools 적용법

1. 자신의 위키에 맞게 미디어위키:Edittools 문서를 편집합니다.

아래는 참고할 만한 Edittools 원본 소스들입니다.


2. 미디어위키 공식 사이트의 MediaWiki:Gadget-Edittools.js 문서를 복사해 자신의 위키에 동일한 문서명으로 만들어 줍니다.


아래는 2020년 4월 3일에 마지막으로 편집된 미디어위키 공식 사이트의 MediaWiki:Gadget-Edittools.js 문서 원본 소스입니다.

/**
 * EditTools support: add a selector, change <a> into buttons.
 * The special characters to insert are defined at [[MediaWiki:Edittools]].
 *
 * @author Arnomane, 2006 (on the commons.wikimedia.org/wiki/MediaWiki:Edittools.js)
 * @author Kaganer, 2007 (adapting to www.mediawiki.org)
 * @author Krinkle, 2012
 * @source www.mediawiki.org/wiki/MediaWiki:Gadget-Edittools.js
 * @revision 2019-12-17
 */
/*jslint browser: true*/
/*global jQuery, mediaWiki*/
(function ($, mw) {
    "use strict";

    var conf, editTools, $sections;

    conf = {
        initialSubset: window.EditTools_initial_subset === undefined ? window.EditTools_initial_subset : 0
    };

    editTools = {

        /**
         * Creates the selector
         */
        setup: function () {
            var $container, $select, initial;

            $container = $('#mw-edittools-charinsert');
            if (!$container.length) {
                return;
            }
            $sections = $container.find('.mw-edittools-section');
            if ($sections.length <= 1) {
                // Only care if there is more than one
                return;
            }

            $select = $('<select>').css('display', 'inline');

            initial = conf.initialSubset;
            if (isNaN(initial) || initial < 0 || initial >= $select.length) {
                initial = 0;
            }

            $sections.each(function (i, el) {
                var $section, sectionTitle, $option;

                $section = $(el);
                sectionTitle = $section.data('sectionTitle');

                $option = $('<option>')
                    .text(sectionTitle)
                    .prop('value', i)
                    .prop('selected', i === initial);

                $select.append($option);
            });

            $select.change(editTools.handleOnchange);
            $container.prepend($select);

            editTools.chooseSection(initial);
        },

        /**
         * Handle onchange event of the <select>
         *
         * @context {Element}
         * @param e {jQuery.Event}
         */
        handleOnchange: function () {
            editTools.chooseSection(Number($(this).val()));

            return true;
        },

        /**
         * Toggle the currently visible section
         *
         * @param sectionNr {Number}
         * @param setFocus {Boolean}
         */
        chooseSection: function (sectionNr) {
            var $choise = $sections.eq(sectionNr);
            if ($choise.length !== 1) {
                return;
            }

            // Making these buttons is a little slow,
            // If we made them all at once the browser would hang
            // for over 2 seconds, so instead we're doing it on-demand
            // for each section. No need to do it twice thoguh, so remember
            // in data whether it was done already
            if (!$choise.data('charInsert.buttonsMade')) {
                $choise.data('charInsert.buttonsMade', true);
                editTools.makeButtons($choise);
            }

            $choise.show();
            $sections.not($choise).hide();
        },

        /**
         * Convert the <a onclick> links to buttons in a given section.
         *
         * @param $section {jQuery}
         */
        makeButtons: function ($section) {
            var $links;

            if (!$section.length) {
                return;
            }

            $links = $section.find('a');
            $links.each(function (i, a) {
                var $a, $button, start, end;
                $a = $(a);
                $button = $( '<input>' ).attr( 'type', 'button' );
                start = $a.data( 'mw-charinsert-start' );
                end = $a.data( 'mw-charinsert-end' );
                if ( start !== undefined && end !== undefined ) {
                    $button.click( function( e ) {
                        e.preventDefault();
                        $('#wpTextbox1').textSelection('encapsulateSelection', {pre: start, post: end});
                    } );
                } else {
                    $button[0].onclick = a.onclick;
                                }
                $button[0].value = $a.text();
                $a.replaceWith($button);
            });
        }

    };

    $(document).ready(editTools.setup);

}(jQuery, mediaWiki));


4. 자신의 미디어위키의 Mediawiki:Gadgets-definition 문서에 아래 코드를 추가해줍니다.

* Edittools[ResourceLoader|default]|Edittools.js


그러면 위 그림처럼 문서 편집화면 하단에 문자 및 태그 삽입 상자가 생긴 것을 확인할 수 있습니다.