Ekstensi:CharInsert
CharInsert Status rilis stabil |
|
---|---|
Implementasi | Tag , Tindakan halaman , Wiki Saya |
Deskripsi | Allows to create JavaScript character insert boxes. |
Perancang awal | Brion Vibber (Brooke Vibberbicara) |
Versi terbaru | continuous updates |
Kebijakan kompatibilitas | Snapshots releases along with MediaWiki. Master is not backward compatible. |
MediaWiki | >= 1.43 |
Lisensi | Lisensi Publik Umum GNU 2.0 atau lebih baru |
Unduh | |
<charinsert> |
|
Quarterly downloads | 75 (Ranked 66th) |
Public wikis using | 9,224 (Ranked 15th) |
Terjemahkan ekstensi CharInsert jika tersedia di translatewiki.net | |
Masalah | Tugas terbuka · Laporkan kekutu |
The CharInsert extension allows the creation of JavaScript links that, when clicked, insert predefined text into a text box.
These links are usually used in MediaWiki:Edittools (example on this wiki) system message.
Sintaks
Use <charinsert>
tags with a space-separated list of characters or tags for which you wish to allow insertion.
You can use + sign inside a tag to define a place to:
- insert selected text or
- place cursor if no text was selected.
You have to enclose templates and spaces inside <nowiki>
:
<charinsert><nowiki>== + ==</nowiki> <nowiki>{{stub}}</nowiki></charinsert>
Usage and sample output
Individual characters
Individual characters are just listed between the "charinsert" tags.
<charinsert>Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź</charinsert>
results in
Á á Ć ć É é Í í Ĺ ĺ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź
Combined characters
Combined characters are listed between the "charinsert" tags and connected by the "+" sign.
<charinsert>“+” ‘+’ «+» ‹+› „+“ ‚+‘ [[+]] {{+}}</charinsert>
results in
Overriding display text
Versi MediaWiki: | ≥ 1.38 Gerrit change 748823 |
A different display text can be specified in the label
attribute (if you use this, you should use separate <charinsert>
tags for each character in order to specify different display texts).
<charinsert label="Latin A">A</charinsert> <charinsert label="Cyrillic А">А</charinsert> <charinsert label="Greek Alpha">Α</charinsert>
results in
Latin A Cyrillic А Greek Alpha
Notes
- Generated JavaScript links also work in other areas around edit window, e.g. in MediaWiki:Copyrightwarning or MediaWiki:Newarticletext, on the page preloaded with Inputbox , and even from the text preview.
- They can also be used in MediaWiki:Uploadtext to insert image description templates.
- Unlike toolbar buttons on top, this extension doesn't provide a way to specify inserted "sample text".
- Use
to add new lines (\n). - Enclose white spaces in
<nowiki>...</nowiki>
tags when needed. - Add
<charinsert>...</charinsert>
tags into MediaWiki:Edittools.
Installation
- Unduh dan letakkan berkas-berkasnya di dalam sebuah direktori yang bernama
CharInsert
di folderextensions/
Anda.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CharInsert - Tambahkan kode berikut di bagian bawah LocalSettings.php Anda:
wfLoadExtension( 'CharInsert' );
- If you use the gadget Edittools , update its code to the latest version (≥ April 3, 2020)
- Selesai – Telusuri ke Special:Version di wiki Anda untuk memastikan ekstensinya berhasil dipasang.
Advanced Installation
Important: You must have Extension:Gadgets for this to work.
Styling
To give the charinsert lists additional styling, wrap the contents of your Edittools between <div class="mw-charinsert-buttons">
and </div>
and add styling for them to your MediaWiki:Common.css.
This site (www.mediawiki.org) does that to make the links appear like buttons (as shown in the screenshot to the side).
The below stylesheet was used for that, copy it to your MediaWiki:Common.css to apply the same styling.
/**
* Styling for links generated by [[MediaWiki:Edittools]]
* @source https://www.mediawiki.org/wiki/Extension:CharInsert#Styling
* @updated 2020-03-17
*/
.mw-charinsert-buttons {
border: 1px solid #aaa;
margin-top: 10px;
padding: 1px;
font-size: 1.1em;
text-align: center;
}
.mw-charinsert-buttons a {
background-color: #cde !important;
color: #000;
border: thin #069 outset;
padding: 0 1px 1px;
font-weight: bold;
font-size: 0.9em;
text-decoration: none;
}
.mw-charinsert-buttons a:hover,
.mw-charinsert-buttons a:active {
background-color: #bcd;
border-style: inset;
}
.client-js .mw-edittools-section {
display: inline;
}
.client-js .mw-edittools-section input[type="button"] {
font-size: 0.9em;
margin-left: 1px;
padding-left: 1px;
padding-right: 1px;
}
Alternatively, you can choose a style closer to the Wikimedia Design Style Guide and the WikimediaUI theme:
/**
* Styling for links generated by [[MediaWiki:Edittools]] in WikimediaUI inspired theme.
* @source https://www.mediawiki.org/wiki/Extension:CharInsert#Styling
* @updated 2020-03-17
*/
.mw-charinsert-buttons {
margin-top: 8px;
border: 1px solid #c8ccd1;
padding: 2px 4px 4px;
font-size: 1.1em;
text-align: center;
}
.mw-charinsert-buttons a {
background-color: #f8f9fa !important;
color: #202122;
border: thin #36c outset;
padding: 0 1px 2px;
font-size: 0.9em;
font-weight: bold;
text-decoration: none;
}
.mw-charinsert-buttons a:hover {
background-color: #fff;
color: #404244;
}
.mw-charinsert-buttons a:active {
background-color: #c8ccd1;
border-style: inset;
}
.client-js .mw-edittools-section {
display: inline;
}
.client-js .mw-edittools-section input[type="button"] {
background-color: #f8f9fa;
color: #202122;
margin-left: 1px;
border-radius: 2px;
padding: 1px 6px;
font-size: 0.9em;
/* Apply pointer cursor to all interactive elements. */
cursor: pointer;
}
.client-js .mw-edittools-section input[type="button"]:hover {
background-color: #fff;
color: #404244;
}
.client-js .mw-edittools-section input[type="button"]:active {
background-color: #c8ccd1;
color: #000;
}
Scripting
If you have many CharInsert links, one could use JavaScript to put them in separate groups and allow dynamic switching with a dropdown menu. For example to separate diacritical characters from wikisyntax etc. Several sites (such as mediawiki.org, de.wikipedia.org and en.wikipedia.org) have done this. They all implemented it in different ways though. Documented below is the way it is done on mediawiki.org:
- 1. Wrap all the charinsert tags on MediaWiki:Edittools into a
<div>
container and give it a descriptive, unique, ID (for example "mw-edittools-charinsert"): <div id="mw-edittools-charinsert" class="mw-charinsert-buttons" title="Click on the wanted special character."> ... </div>
- 2. Wrap each individual block of charinserts into
<p>
tags like this: <p class="mw-edittools-section" data-section-title="Wiki-Syntax" style="display: none;"> ... </p>
- Catatan:
- Don't change the word 'mw-edittools-section'
- The text behind "data-section-title=" will identify this group in the dropdown menu.
- Make sure there is one group without the '
style="display: none;"
' directive: That will be the default choice in the dropdown menu. On this site, it is called 'Standard' while the other groups are named by the language for which the characters are significant.
- 3. Copy the contents of MediaWiki:Gadget-Edittools.js to an equally named page on your own wiki
- 4. Add the following code to your MediaWiki:Gadgets-definition:
* Edittools[ResourceLoader|default]|Edittools.js
English Wikipedia CharInsert menu
For implementing CharInsert menu like the one used on the English Wikipedia, either export gadgets: Charinsert-core, Charinsert-styles, and Charinsert and then import them on your own wiki through Special:Import or if you want to do it manually, copy the following four interface pages to your wiki:
- MediaWiki:Gadget-charinsert-core.js (Wikipedia) - Main JavaScript file.
- MediaWiki:Gadget-charinsert-styles.css (Wikipedia) - Creates surrounding boxes around the symbols/characters giving them the look of buttons.
- MediaWiki:Gadget-charinsert.js (Wikipedia) - CharInsert loader.
- MediaWiki:Gadget-charinsert (Wikipedia) - For the text shown in user preferences' gadgets section.
- In your MediaWiki:Gadgets-definition, add the following definitions:
* charinsert[ResourceLoader|default|peers=charinsert-styles]|charinsert.js * charinsert-core[ResourceLoader|hidden|dependencies=jquery.textSelection,user,mediawiki.storage]|charinsert-core.js * charinsert-styles[ResourceLoader|hidden|type=styles]|charinsert-styles.css
- MediaWiki:Edittools (Wikipedia) - Only for users with JavaScript turned off or unsupported (which disables the WikiEditor extension too), therefore not really necessary or useful either. It only shows symbols/characters as simple text below the editor window, which can then be copy-pasted and thus be of some help to editors. Apparently, it does not get activated in English Wikipedia for disabled JavaScript.
Catatan: This particular English Wikipedia character set also contains templates, which will need to be defined separately, if they are to be used on your Wiki.
English Wikipedia Solution checked on: November 6, 2018
Ekstensi ini sedang digunakan di salah satu atau lebih proyek Wikimedia. Ini kemungkinan berarti ekstensi ini stabil dan bekerja cukup baik untuk digunakan oleh situs web berlalu lintas tinggi. Cari nama ekstensi ini di berkas konfigurasi CommonSettings.php dan InitialiseSettings.php Wikimedia untuk melihat di mana dipasangnya. Daftar lengkap ekstensi yang dipasang di suatu wiki bisa dilihat di halaman Special:Version wiki. |
Ekstensi ini sudah termasuk dalam paket-paket dan/atau keluarga wiki berikut: Ini bukan daftar yang otoritafi. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Selalu periksa keluarga wiki atau bundel Anda untuk mengonfirmasi. |
- Stable extensions/id
- Tag extensions/id
- Page action extensions/id
- Personalization extensions/id
- GPL licensed extensions/id
- Extensions in Wikimedia version control/id
- BeforePageDisplay extensions/id
- ParserFirstCallInit extensions/id
- All extensions/id
- Extensions used on Wikimedia/id
- Extensions included in Canasta/id
- Extensions included in Fandom/id
- Extensions included in Miraheze/id
- Extensions included in ShoutWiki/id
- Extensions included in Telepedia/id
- Extensions included in wiki.gg/id
- Extensions included in WikiForge/id
- Edit extensions/id