MediaWiki:Gadget-code-snippets.js
Перейти к навигации
Перейти к поиску
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
/**<nowiki>
* Gadget that loads a couple of snippets for easier access to commonly copy/pasted templates and sections
* Authors:
** Joeytje50
** BlackHawk
** GodSatanist
*/
$(function() {
var pagename = mw.config.get('wgTitle');
function snippet(label, parts) {
if (typeof(parts) == 'string') parts = [parts]; // if string is given, only use pre
return {
label: label,
action: {
type: 'encapsulate',
options: {
pre: parts[0] || '',
peri: parts[1] || '',
post: parts[2] || '',
}
}
};
}
function getLicense(name, chars, param) {
var label = name;
if (name instanceof Array) { // if the label shouldn't be the same as the name
label = name[1];
name = name[0];
}
return snippet(label, [
'{{'+name+' license|',
pagename.slice(0, -chars),
(param || '') + '}}'
]);
}
function customizeToolbar() {
if (typeof($('#wpTextbox1').wikiEditor) != 'function') return console.log($('#wpTextbox1'), $('#wpTextbox1').wikiEditor);
var templates = {
'label': 'Заготовки шаблонов',
'layout': 'characters',
'characters': [
snippet('{{Карточка}}', [
'{{Карточка\n|имя = ',
'',
'\n|файл = \n|caption = \n|Основные характеристики| \n|Дата рождения|1953 \n|Род деятельности|Актёро-режиссёр, алкаш, ублюдок \n|Атрибуты|Презрение к роду людскому}}\n'
]),
snippet('Видео с YouTube {{YouTube}}', [
'{{YouTube|service=youtube|',
'код видео',
'|width=150|align=right|Подпись под видео}}'
]),
snippet('Видео с Vimeo {{Vimeo}}', [
'{{Vimeo|width=150|float=right|',
'код видео',
'|Подпись под видео}}'
]),
snippet('Видео с RuTube {{Rutube}}', [
'{{Rutube|',
'код видео',
'|width=200|height=130|align=right|Подпись под видео}}'
]),
snippet('Цитата #1 {{Цитата}}', [
'{{Цитата|',
'Цитируемый текст',
'|Автор цитаты|Источник|size=360%|textSize=200%|textColor=white|sourceColor=gray|sourceSize=100%}}\n'
]),
snippet('Цитата #2 {{Цитата2}}', [
'{{Цитата2|',
'Цитируемый текст',
'|Источник цитаты|Заголовок цитаты}}\n'
]),
snippet('Цитата #3 {{Tinyquote}}', [
'{{Tinyquote|',
'Цитируемый текст',
'|Автор цитаты|Источник цитаты|color=#691919|size=344%}}\n'
]),
snippet('Галерея картинок #1 {{Collapsegallery}}', [
'{{Collapsegallery|Заголовок галереи|id галереи (ставьте что-то рандомное)|center|<gallery>\n',
'file1.jpg\nfile2.jpg\nfile3.jpg\n',
'</gallery>|<gallery> \nfile4.jpg\nfile5.jpg\nfile6.jpg\n</gallery>}}\n'
]),
snippet('Галерея картинок #2 {{Галерея}}', [
'{{Галерея|Заголовок галереи|center|<gallery>',
'',
'\nFile:image1.jpg\nFile:image2.jpg\nFile:image3.jpg\n</gallery>}}\n'
]),
snippet('Внешняя картинка {{Extimage}}', [
'{{Extimage|',
'URL (discord/imgur)',
'|right|150px|Подпись под картинкой}}'
]),
snippet('Видеогалерея {{Videogallery}}', [
'{{Videogallery|width=400|cols=3|align=center\n',
'||ID_видео|Описание_видео\n||ID_видео|Описание_видео\n||ID_видео|Описание_видео\n',
'}}\n'
]),
snippet('Цветной текст {{Oncolor}}', [
'{{Oncolor|Цвет фона|Цвет текста|',
'Текст',
'}}\n'
]),
snippet('{{Пояснение}}', [
'{{Пояснение|Поясняемое слово|',
'Пояснение',
'}}\n'
]),
snippet('Спойлер #1 {{Spoiler C}}', [
'{{Spoiler C|Заголовок спойлера|',
'Содержимое спойлера',
'}}\n'
]),
snippet('Спойлер #2 {{Spoiler}}', [
'{{Spoiler|',
'Содержимое спойлера',
'}}\n'
]),
snippet('{{Text box}}', [
'{{Text box\n| heading = ',
'',
'\n| message = \n}}\n'
]),
snippet('{{Discord}}', [
'{{Discord|server/user|',
'ID',
'|Text}}'
]),
snippet('{{Wikilink}}', [
'{{Wikilink|',
'Название_статьи',
'|Текст}}'
]),
snippet('{{Vk}}', [
'{{Vk|',
'ID',
'|Текст}}'
]),
snippet('{{Yt}}', [
'{{Yt|',
'ID канала',
'|Текст}}'
]),
snippet('{{Telegram}}', [
'{{Telegram|',
'ID канала/юзера',
'|Текст}}'
]),
snippet('{{Steam}}', [
'{{Steam|',
'ID профиля',
'|Текст}}'
]),
]
};
var sections = {
'label': 'Плашки',
'layout': 'characters',
'characters': [
snippet('К удалению', [
'{{blackhole|',
'Причина выставления на удаление',
'}}\n'
]),
snippet('Нужен ремейк', [
'{{ремейк|',
'Примечание',
'}}\n'
]),
snippet('Корректировка', [
'{{корр|',
'Указание недостатков',
'}}\n'
]),
snippet('Надо перепилить', [
'{{перепилить|',
'Примечание',
'}}\n'
]),
snippet('Каноничное', [
'{{канон}}\n'
]),
snippet('Черновик', [
'{{Черновик}}\n'
]),
snippet('Мало', [
'{{Мало}}\n'
]),
snippet('Дописать', [
'{{Допилить}}\n'
]),
snippet('Юмор', [
'{{Юмор}}\n'
]),
snippet('Статья-детектор', [
'{{Детектор|',
'Причины возгораний',
'}}\n'
]),
snippet('Градусы науки', [
'{{Градус от 1 до 4}}\n'
]),
snippet('Неисследованный материал', [
'{{Неисследовано}}\n'
]),
snippet('Нужно доп. исследование', [
'{{Доисследовать}}\n'
]),
snippet('Исследовательская статья', [
'{{Исследование}}\n'
]),
snippet('Повышенная мерзотность', [
'{{Абдулопиздец}}\n'
]),
snippet('Актуализация', [
'{{Актуальность}}\n'
]),
snippet('Текущие события', [
'{{Текущее}}\n'
]),
]
};
var references = {
'label': 'Заголовки',
'layout': 'characters',
'characters': [
snippet('Уровень 2', [
'== Текст заголовка ==\n'
]),
snippet('Уровень 3', [
'=== Текст заголовка ===\n'
]),
snippet('== Прочее ==', [
'== Прочее ==\n'
]),
snippet('== Смотри также ==', [
'== Смотри также ==\n'
]),
snippet('== Ссылки ==', [
'== Ссылки ==\n'
]),
snippet('== Биография ==', [
'== Биография ==\n'
]),
snippet('== Описание ==', [
'== Описание ==\n'
]),
]
};
var other = {
'label': 'Категории',
'layout': 'characters',
'characters': [
snippet('[[Категория:]]', [
'[[Категория:]]'
]),
snippet('Абдулокультура', [
'[[Категория:Абдулокультура]]'
]),
snippet('Абдулонаука', [
'[[Категория:Абдулонаука]]'
]),
snippet('Грешники', [
'[[Категория:Грешники]]'
]),
snippet('Великие грешники', [
'[[Категория:Великие грешники]]'
]),
snippet('Грехоболезни', [
'[[Категория:Грехоболезни]]'
]),
snippet('Абдулоистория', [
'[[Категория:Абдулоистория]]'
]),
snippet('Сониблядство', [
'[[Категория:Сониблядство]]'
]),
snippet('Абдулоосновы', [
'[[Категория:Абдулоосновы]]'
]),
snippet('Юмор', [
'[[Категория:Юмор]]'
]),
snippet('Абдулопередачи', [
'[[Категория:Абдулопередачи]]'
]),
snippet('Мерзость', [
'[[Категория:Мерзость]]'
]),
snippet('Автономии адептов', [
'[[Категория:Автономии адептов]]'
]),
snippet('Абдулопредатели', [
'[[Категория:Абдулопредатели]]'
]),
snippet('Негативные явления', [
'[[Категория:Негативные явления]]'
]),
snippet('Абдулоиконы', [
'[[Категория:Абдулоиконы]]'
]),
]
};
var mark = {
'label': 'Вики-разметка',
'layout': 'characters',
'characters': [
snippet('{{ }}', [
'{{',
'',
'}}'
]),
snippet('{{{ }}}', [
'{{{',
'',
'}}}'
]),
snippet('[ ]', [
'[',
'',
']'
]),
snippet('[[ ]]', [
'[[',
'',
']]'
]),
snippet('[[|]]', [
'[[|',
'',
']]'
]),
snippet('Редирект', [
'#REDIRECT [[',
'',
']]'
]),
snippet('Неразрывный пробел', [
' '
]),
]
};
var html = {
'label': 'HTML теги',
'layout': 'characters',
'characters': [
snippet('<> </>', [
'<>',
'',
'</>'
]),
snippet('<br />', [
'<br />'
]),
snippet('<big>', [
'<big>',
'',
'</big>'
]),
snippet('<small>', [
'<small>',
'',
'</small>'
]),
snippet('<center>', [
'<center>',
'',
'</center>'
]),
snippet('<left>', [
'<left>',
'',
'</left>'
]),
snippet('<right>', [
'<right>',
'',
'</right>'
]),
snippet('<poem>', [
'<poem>',
'',
'</poem>'
]),
snippet('<tt>', [
'<tt>',
'',
'</tt>'
]),
snippet('<u>', [
'<u>',
'',
'</u>'
]),
snippet('<s>', [
'<s>',
'',
'</s>'
]),
snippet('<i>', [
'<i>',
'',
'</i>'
]),
snippet('<ul>', [
'<ul>',
'',
'</ul>'
]),
snippet('<sup>', [
'<sup>',
'',
'</sup>'
]),
snippet('<sub>', [
'<sub>',
'',
'</sub>'
]),
snippet('<code>', [
'<code>',
'',
'</code>'
]),
snippet('<pre>', [
'<pre>',
'',
'</pre>'
]),
snippet('<nowiki>', [
'<nowiki>',
'',
'</nowiki>'
]),
snippet('<ref>', [
'<ref>',
'',
'</ref>'
]),
snippet('<includeonly>', [
'<includeonly>',
'',
'</includeonly>'
]),
snippet('<noinclude>', [
'<noinclude>',
'',
'</noinclude>'
]),
snippet('<onlyinclude>', [
'<onlyinclude>',
'',
'</onlyinclude>'
]),
]
};
var magicwords = {
'label': 'Волшебные слова',
'layout': 'characters',
'characters': [
snippet('__NOTOC__', [
'__NOTOC__'
]),
snippet('__FORCETOC__', [
'__FORCETOC__'
]),
snippet('__TOC__', [
'__TOC__'
]),
snippet('__NOCAT__', [
'__NOCAT__'
]),
snippet('__NOEDITSECTION__', [
'__NOEDITSECTION__'
]),
snippet('__NOINDEX__', [
'__NOINDEX__'
]),
snippet('__FORCETOC__', [
'__FORCETOC__'
]),
snippet('__HIDDENCAT__', [
'__HIDDENCAT__'
]),
snippet('__EXPECTUNUSEDCATEGORY__', [
'__EXPECTUNUSEDCATEGORY__'
]),
]
};
var feedback = {
'label': 'Помощь',
'layout': 'table',
'headings': [
{ text: 'Не нашли чего искали/есть предложение что можно было бы добавить?' }
],
'rows': [
{
text: { html:
'Вы можете связаться с любым из членов <a href="https://wiki.biboran.org/%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%B1%D1%8E%D1%80%D0%BE" target="_blank">'+
'политбюро</a> и высказать своё предложение.'+
(mw.config.get('wgUserGroups').includes('sysop') ? '<br/>Так же вы всегда можете пройти на <a href="https://discord.com/invite/egMruTk">наш сервер Discord</a> для получения дополнительной справки и помощи.' : ''),
},
}
],
};
var isRedirect = /^\#REDIRECT\s*\[\[[^\]]+\]\](\n|$)/i.test($('#wpTextbox1').val()) && $('#wikiPreview div').text().length == 0;
var groups = {};
groups['section-templates'] = templates;
if ($('body').is('.ns-0')) groups['section-sections'] = sections; // listed sections are only relevant to mainspace
groups['section-refs'] = references;
if ($('body').is('.ns-120')) groups['section-transcript'] = transcript; // only show on Transcript: namespace.
if ($('body').is('.ns-6')) groups['section-licenses'] = licenses; // only show on File: namespace.
if ($('body').is('.ns-0')) groups['section-other'] = other; // other is only relevant to mainspace
groups['section-mark'] = mark;
groups['section-html'] = html;
groups['section-magicwords'] = magicwords;
groups['section-feedback'] = feedback;
// Show additional snippets, except for MediaWiki:, Module:, Exchange:, talk pages.
// Other namespaces might not necessarily need very many of these snippets, but there might be snippets for those in the future.
if (!$('body').is('.ns-8, .ns-112, .ns-828, .ns-talk')) {
$('#wpTextbox1').wikiEditor('addToToolbar', {
'sections': {
'snippets': {
'type': 'booklet',
'label': 'Шаблоны/пресеты',
'pages': groups,
}
}
});
}
}
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
mw.loader.using( 'user.options' ).then( function () {
// This can be the string "0" if the user disabled the preference (phab:T54542#555387)
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
$.when(
mw.loader.using( 'ext.wikiEditor' ), $.ready
).then( customizeToolbar );
}
} );
}
});
//</nowiki>