نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
// <nowiki> // DON'T REMOVE THIS LINE EVER /*jslint indent: 2, browser: true, white: true*/ /*global jQuery, mediaWiki, persianWikiTools, autoEd*/ /* above functions are coming from [[MediaWiki:Gadget-Extra-Editbuttons-autoed.js]] */ /** * UI code for Persian tools * Tests: [[مدیاویکی:Gadget-Extra-Editbuttons-tests.js]] [[وپ:تست]] * See also: * * [[مدیاویکی:Gadget-Extra-Editbuttons-persiantools.js]] * * [[مدیاویکی:Gadget-Extra-Editbuttons-persianwikitools.js]] * * [[مدیاویکی:Gadget-Extra-Editbuttons-dictionary.js]] * * [[مدیاویکی:Gadget-Extra-Editbuttons-autoed.js]] */ window.extraeditbuttons = { // ابزار در حالت نمایش /** * Fetch a page */ loadPage: function (title) { return new mw.Api().get({ action: 'query', prop: 'revisions', titles: title, rvprop: 'content', format: 'json' }).then(function (data) { return $.map(data.query.pages, function (value) { return value; })[0].revisions[0]['*']; }); }, /** * Save a page */ savePage: function (title, text, summary) { return new mw.Api().post({ action: 'edit', title: title, text: text, summary: summary, nocreate: '', minor: '', token: mw.user.tokens.get('csrfToken') }); }, /** * Load and save a page */ loadSavePage: function (editorDelegate, summary) { return extraeditbuttons.loadPage(mw.config.get('wgPageName')).then(function (text) { return extraeditbuttons.savePage(mw.config.get('wgPageName'), editorDelegate(text), summary); }); }, /*if (mw.config.get('wgAction') === 'view' && mw.config.get('wgIsArticle') && !mw.config.get('wgIsMainPage')) { $.when($.ready, mw.loader.using('jquery.ui')).then(function () { $('#ca-abar-abzar').remove(); if ($('#mw-imagepage-nofile, #noarticletext').length !== 0 || mw.config.get('wgNamespaceNumber') === 6 || mw.config.get('wgNamespaceNumber') === 8) { return; } $(mw.util.addPortletLink('p-views', '#', 'ابرابزار', 'ca-abar-abzar')).click(function (e) { e.preventDefault(); $( '<div><div>مطمئنید می\u200cخواهید ویرایشی خودکار جهت اصلاح متن این صفحه به کمک ابرابزار داشته باشید؟</h6><br><br>بعد از انجام ویرایش باید ویرایش انجامشده را از نظر درستی بررسی کنید <b>زیرا مسئولیت تغییرات ابرابزار با شماست!</b></div>' ).dialog({ modal: true, title: 'ابرابزار', resizable: false, buttons: { 'بله': function () { extraeditbuttons.loadSavePage( persianWikiTools.superTool, '/' + '* ویرایش به وسیلهٔ [[' + (mw.config.get('wgServerName') !== 'fa.wikipedia.org' ? ':w:fa:' : '') + 'وپ:ابرابزار|ابرابزار]] *' + '/' ).then(function (data) { if (data.error) { mw.notify('ویرایش موفقیت آمیز نبود: ' + data.error.info); } else if (data.edit && data.edit.result === 'Success') { if (data.edit.nochange !== undefined) { mw.notify('تغییری در صفحه ایجاد نشد.'); } else { mw.notify('ویرایش با موفقیت انجام پذیرفت'); // Loading diff page window.location = new mw.Uri(mw.config.get('wgScript')).extend({ title: mw.config.get('wgPageName'), diff: data.edit.newrevid }); } } else { mw.notify('ویرایش در صفحه موفقیتآمیر نبود.'); } }, function (error) { mw.notify(error); }); $(this).dialog("close"); }, 'خیر': function () { $(this).dialog("close"); } }, close: function () { $(this).remove(); } }); }); }); }*/ // ابزار در حالت ویرایش /** * Adds edit summary */ addEditSummary: function (summaryText, replaceSummary) { if (summaryText === '') { return; } var summary = $('.editOptions #wpSummary'), summaryPrefix = '', pos; if (summary.length === 0) { return; } if (summary.val().indexOf('*/ ') > -1) { pos = summary.val().indexOf('*/ '); summaryPrefix = summary.val().substr(0, pos + 3); } if (replaceSummary) { summary.val(summaryPrefix + summaryText); } else { if (summary.val() === summaryPrefix) { summary.val(summary.val() + summaryText); } else { if (summary.val().indexOf(summaryText) === -1) { // do not repeat in edit summary summary.val(summary.val() + '، ' + summaryText); } } } }, /** * Makes a simple button from parameters */ buttonGenerator: function (callback, summaryText, replaceSummary, image, title, alt, idSuffix) { function clickCallback(e) { e.preventDefault(); callback(); addEditSummary(summaryText, replaceSummary); } var button = $('<span>', { id: 'persian-wiki-tools-' + idSuffix }).click(clickCallback).append( $('<img>').attr({ src: image, title: title, alt: alt }).on("error", function () { button.replaceWith($('<button>', { text: alt }).click(clickCallback)); }) ); return button[0]; }, addButton: function (callback, summaryText, replaceSummary, image, title, alt, idSuffix) { function clickCallback() { callback(); extraeditbuttons.addEditSummary(summaryText, replaceSummary); } $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'persiantools', 'group': 'main', 'tools': { idSuffix: { label: title, // or use labelMsg for a localized label, see above type: 'button', icon: image, action: { type: 'callback', execute: clickCallback, } } } } ); }, /** * Applies the string functions defined below to the * selected text in the edit box. If no text is selected, applies * the function to the whole contents of edit box. */ applyOnSelection: function (callback) { var txtarea, range, startPos, endPos, selText; if (document.getElementById('editform')) { txtarea = document.getElementById('wpTextbox1'); } else if (document.getElementById('wpNewTitleMain')) { txtarea = document.getElementById('wpNewTitleMain'); } else { return; } if (document.selection && document.selection.createRange) { // IE/Opera // get current selection txtarea.focus(); range = document.selection.createRange(); selText = range.text; if (selText) { range.text = callback(selText); range.select(); } else { txtarea.value = callback(txtarea.value); } } else if (txtarea.selectionStart || txtarea.selectionStart === 0) { // Mozilla // get current selection txtarea.focus(); startPos = txtarea.selectionStart; endPos = txtarea.selectionEnd; selText = txtarea.value.substring(startPos, endPos); // insert tags if (selText) { txtarea.value = txtarea.value.substring(0, startPos) + callback(selText) + txtarea.value.substring(endPos, txtarea.value.length); txtarea.selectionStart = startPos + selText.length; txtarea.selectionEnd = txtarea.selectionStart; } else { txtarea.value = callback(txtarea.value); } } }, init: function() { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': { 'persiantools': { 'type': 'toolbar', 'label': 'ابزارها', } } } ); $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'persiantools', 'groups': { 'main': { 'label': '' } } } ); // Buttons that FIX wikitext /* ی ک */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianTools.toStandardPersianCharacters); }, 'اصلاح نویسه\u200cهای عربی', false, '//upload.wikimedia.org/wikipedia/commons/8/88/Button_YehKeh.png', 'اصلاح ی و ک', 'ی و ک', 'YehKeh' ); /* فاصلهٔ مجازی */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiApplyZwnj); }, 'اصلاح فاصلهٔ مجازی', false, '//upload.wikimedia.org/wikipedia/fa/d/d0/Button_ZWNJ.png', 'فاصلهٔ مجازی', 'فاصلهٔ مجازی', 'ZWNJ' ); /* اصلاح نویسهها و حالتهای غیراستاندارد */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiApplyOrthography); }, 'اصلاح نویسه', false, '//upload.wikimedia.org/wikipedia/fa/9/94/Button_non_standard.png', 'اصلاح نویسهها و حالتهای غیراستاندارد', 'اصلاح نویسهها و حالتهای غیراستاندارد', 'apply-orthography' ); /* اصلاح ارقام */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiTextDigitsToPersian); }, 'اصلاح ارقام', false, '//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png', 'اصلاح ارقام', 'ارقام', 'numbers' ); /* اصلاح ارقام مخصوص صفحه انتقال */ /*var move_tools1 = extraeditbuttons.buttonGenerator( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiConvertToPersianCharacters); }, 'اصلاح ارقام', false, '//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png', 'اصلاح ارقام', 'ارقام', 'numbers' );*/ /* یونیکد نشانی وب */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiUrlMinifier); }, 'اصلاح نشانی وب', false, '//upload.wikimedia.org/wikipedia/fa/b/ba/Button_decode_URI.png', 'یونی\u200cکدسازی نشانی\u200cها', 'یونی\u200cکدسازی', 'decode-URI' ); /* اصلاح علامت @ */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(function (text) { return text.replace(/(\S+?)@(\S+?)/g, '$1{{at}}$2'); }); }, 'اصلاح @', false, '//upload.wikimedia.org/wikipedia/fa/7/7f/Button_at_sign.png', 'اصلاح علامت @', '@', 'at-sign' ); /* ابرابزار */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.superTool); }, 'ابرابزار', false, '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png', 'ابرابزار', 'ابرابزار', 'super-tool' ); /* ابزار املا */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiDictation); }, 'اصلاح املا', false, '//upload.wikimedia.org/wikipedia/commons/a/a3/Button_Dictation-fa.png', 'املا', 'املا', 'dictation' ); /* ابرابزار مخصوص صفحه انتقال */ var move_tools2 = extraeditbuttons.buttonGenerator( function () { extraeditbuttons.applyOnSelection(persianWikiTools.superToolMove); }, 'ابرابزار', false, '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png', 'ابرابزار', 'ابرابزار', 'super-tool' ); /* اصلاحات قراردادن نقطه */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianWikiTools.wikiPunctuation); }, 'اصلاح سجاوندی', false, '//upload.wikimedia.org/wikipedia/fa/e/ed/Button_punctuation.png', 'نقطه\u200cگذاری', 'نقطه\u200cگذاری', 'punctuation' ); // Buttons that add tags /* برچسب ویکی\u200cسازی */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{ویکی\u200cسازی}}\n' + $('#wpTextbox1').val()); }, 'برچسب ویکی\u200cسازی', false, '//upload.wikimedia.org/wikipedia/fa/3/38/Button_wikify.png', 'برچسب ویکی\u200cسازی', 'ویکی\u200cسازی', 'wikify' );*/ /* بدون منبع */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{بدون منبع}}\n' + $('#wpTextbox1').val()); }, 'برچسب منبع', false, '//upload.wikimedia.org/wikipedia/fa/8/8a/Button_no_source_fa.png', 'برچسب بدون منبع', 'بدون منبع', 'no-source' );*/ /* حذف سریع */ extraeditbuttons.addButton( function () { var temp = $('#wpTextbox1').val(); $('#wpTextbox1').val(''); mw.toolbar.insertTags('{{حذف سریع|', '}}\n' + temp, 'معیار'); }, 'حذف سریع', true, '//upload.wikimedia.org/wikipedia/fa/c/c1/Button_delete_vote.png', 'برچسب حذف سریع', 'حذف سریع', 'delete-vote' ); /* حذف زماندار */ /*extraeditbuttons.addButton( function () { var temp = $('#wpTextbox1').val(); $('#wpTextbox1').val(''); mw.toolbar.insertTags('{{جا:حذف زمان\u200cدار|', '}}\n' + temp, 'معیار'); }, 'حذف زمان\u200cدار', true, '//upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png', 'برچسب حذف زمان\u200cدار', 'حذف زمان\u200cدار', 'attendre' );*/ /* منبع تصویر نامعلوم */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{منبع تصویر نامعلوم}}\n' + $('#wpTextbox1').val()); }, 'برچسب منبع', false, '//upload.wikimedia.org/wikipedia/fa/5/59/Button_image_source.png', 'برچسب منبع تصویر نامعلوم', 'منبع تصویر نامعلوم', 'image-source' );*/ /* حق تکثیر تصویر نامعلوم */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{جا:حق تکثیر تصویر نامعلوم}}\n' + $('#wpTextbox1').val()); }, 'برچسب حق تکثیر', false, '//upload.wikimedia.org/wikipedia/fa/7/7e/Button_image_copyright.png', 'برچسب حق تکثیر تصویر نامعلوم', 'حق تکثیر تصویر نامعلوم', 'image-copyright' );*/ /* تمیزکاری */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{تمیزکاری}}\n' + $('#wpTextbox1').val()); }, 'برچسب تمیزکاری', false, '//upload.wikimedia.org/wikipedia/commons/2/2e/Button_broom.png', 'برچسب تمیزکاری', 'تمیزکاری', 'broom' );*/ /* اخطار نگاره */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val(''); mw.toolbar.insertTags( '{{جا:اخطار نگاره|', '}}', 'نگاره' ); }, 'برچسب نگاره', false, '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png', 'اخطار نگاره', 'اخطار نگاره', 'aviso' );*/ /* حق تکثیر مشکوک */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{حق تکثیر مشکوک}}\n' + $('#wpTextbox1').val()); }, 'برچسب حق تکثیر', false, '//upload.wikimedia.org/wikipedia/fa/c/c7/Button_Sus.png', 'برچسب حق تکثیر مشکوک', 'حق تکثیر مشکوک', 'sus' );*/ /* نقض حق تکثیر */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val(''); mw.toolbar.insertTags( '{{جا:نقض حق تکثیر|url=', '}}', 'نشانی اینترنتی' ); }, 'برچسب حق تکثیر', false, '//upload.wikimedia.org/wikipedia/fa/6/6f/Button_CopyR.png', 'برچسب نقض حق تکثیر', 'نقض حق تکثیر', 'copyr' );*/ /* لحن نامناسب */ /*extraeditbuttons.addButton( function () { $('#wpTextbox1').val('{{لحن نامناسب}}\n' + $('#wpTextbox1').val()); }, 'برچسب لحن', false, '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_Tone.png', 'برچسب لحن نامناسب', 'لحن', 'tone' );*/ // Buttons that help with wiki writing /* تغییر جهت */ extraeditbuttons.addButton( function () { $('#wpTextbox1, #wpNewTitleMain, .ace_editor').css({ 'text-align': 'start', 'direction': $('#wpTextbox1, #wpNewTitleMain').css('direction') === 'rtl' ? 'ltr' : 'rtl' }); }, '', true, '//upload.wikimedia.org/wikipedia/fa/d/d0/Button_toggle_dir.png', 'تغییر جهت جعبهٔ ویرایش', 'تغییرجهت', 'toggle-dir' ); /* پیوند درونی */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags('[[', ']]', 'مقاله'); }, '', true, '//upload.wikimedia.org/wikipedia/fa/d/d0/Button_in_wikify.png', 'پیوند', 'پیوند', 'wikify' ); /* متن خطخورده */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags('<s>', '</s>', 'متن خط خورده'); }, '', true, '//upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png', 'متن خط\u200cخورده', 'متن خط\u200cخورده', 'strike' ); /* توضیح */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags('<!--', '-->', 'توضیح'); }, '', true, '//upload.wikimedia.org/wikipedia/commons/3/34/Button_hide_comment.png', 'توضیح', 'توضیح', 'hide-comment' ); /* ملزومات مقاله */ /*extraeditbuttons.addButton( function () { mw.toolbar.insertTags('== جستارهای وابسته ==\n\n== منابع ==\n{{پانویس}}', '', ''); }, '', true, '//upload.wikimedia.org/wikipedia/commons/e/ef/Add_note.jpg', 'ملزومات مقاله', 'ملزومات مقاله', 'add-note' );*/ /* خوشامدید */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags( '{{جا:خوشامدید|~~~~}}', '', '' ); }, 'خوشامدگویی', true, '//upload.wikimedia.org/wikipedia/commons/4/4a/Smilies_Alien_cool.png', 'خوشامدگویی', 'خوشامد', 'alien-cool' ); /* چپچین */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags( '{{چپ\u200cچین}}\n', '\n{{پایان چپ\u200cچین}}', 'متن چپ\u200cچین\u200cشده' ); }, '', true, '//upload.wikimedia.org/wikipedia/en/e/ea/Button_align_left.png', 'چپ\u200cچین\u200cکردن متن', 'چپ\u200cچین', 'align-left' ); /* اندیس بالا */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags('<sup>', '</sup>', 'اندیس'); }, '', true, '//upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png', 'اندیس بالا', 'اندیس بالا', 'upper-letter' ); /* اندیس پایین */ extraeditbuttons.addButton( function () { mw.toolbar.insertTags('<sub>', '</sub>', 'اندیس'); }, '', true, '//upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png', 'اندیس پایین', 'اندیس پایین', 'lower-letter' ); /* تغییرمسیر */ extraeditbuttons.addButton( function () { $('#wpTextbox1').val(''); mw.toolbar.insertTags( '#تغییرمسیر [[', ']]', 'پیوند' ); }, '', true, '//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png', 'تغییرمسیر', 'تغییرمسیر', 'redirect' ); /* سال میلادی */ /*extraeditbuttons.addButton( function () { mw.toolbar.insertTags( '[[', ' (میلادی)|]]', 'سال' ); }, '', true, '//upload.wikimedia.org/wikipedia/fa/a/a7/Button_cal.png', 'سال میلادی', 'میلادی', 'cal' );*/ /* مرتبسازی */ extraeditbuttons.addButton( function () { extraeditbuttons.applyOnSelection(persianTools.persianSortText); }, '', true, '//upload.wikimedia.org/wikipedia/fa/3/33/Button_sort.png', 'مرتب\u200cسازی بر اساس الفبا', 'مرتب\u200cسازی', 'sort' ); /* شد! */ extraeditbuttons.addButton( function () { $('#wpTextbox1').val($('#wpTextbox1').val() + '\n:{{شد}} ~~~~'); }, 'شد', true, '//upload.wikimedia.org/wikipedia/commons/5/5b/Button_check.png', 'شد', 'شد', 'check' ); var NewTitle = $('#wpNewTitleMain'); if (NewTitle){ var span = $("<span/>"); //span.append(move_tools1); span.append(move_tools2); span.insertBefore(NewTitle); } var tab_persiantools = $('.tab-persiantools a'); if(tab_persiantools[0]) { tab_persiantools = $(tab_persiantools[0]); if(!tab_persiantools.hasClass('current')) { $(tab_persiantools[0]).click(); } } }, }; $(function(){ mw.loader.using( [ 'ext.wikiEditor' ], function () { $(document).ready( extraeditbuttons.init ); }); }); // </nowiki> // DON'T REMOVE THIS LINE EVER