نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر/ Edge: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: Ctrl-F5 را بفشارید.
/*<pre>*/

// Load functions

mw.loader.load('//mzn.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Extra-Editbuttons-Functions.js&action=raw&ctype=text/javascript');

// ‌Button generator

function buttonHTMLGenerator(javascriptCode, summaryText, replaceSummary, imageSuffix, title, alt) {
  var buttonHTML = "<a href=\"javascript:" + javascriptCode + ";";
  if(summaryText) {
    buttonHTML += "void(addEditSummary('" + summaryText + "',";
    if(replaceSummary) {
      buttonHTML += "true";
  } else {
      buttonHTML += "false";
  }
    buttonHTML += "));";
}
  buttonHTML += "\"><img src=\"//upload.wikimedia.org/wikipedia/" + imageSuffix + "\"" +
         " title=\"" + title + "\" alt=\"" + alt + "\"></a>";
  return buttonHTML;
}

function addEditSummary(summaryText, replaceSummary) {
  if(document.location.href.indexOf("&section=new") > -1 || summaryText == "")
    return;
  var summaryPrefix = "";
  if(document.getElementById('wpSummary').value.indexOf("*/ ") > -1) {
    pos = document.getElementById('wpSummary').value.indexOf("*/ ");
    summaryPrefix = document.getElementById('wpSummary').value.substr(0, pos+3);
  }
  if(replaceSummary) {
    document.getElementById('wpSummary').value = summaryPrefix + summaryText;
 } else {
    if(document.getElementById('wpSummary').value == summaryPrefix) {
      document.getElementById('wpSummary').value += summaryText;
   } else {
      if(document.getElementById('wpSummary').value.search(summaryText)==-1) { // do not repeat in edit summary
        document.getElementById('wpSummary').value += "، " + summaryText;
      }
   }
 }
}

// Buttons that FIX wikitext

/* ی ک */
var EE_YKArabic = buttonHTMLGenerator(
  "YKarabic(document.editform.wpTextbox1)",
  "اصلاح نویسه‌های عربی",
  false,
  "commons/8/88/Button_YehKeh.png",
  "اصلاح ی و ک",
  "ی و ک"
);

  /* فاصلهٔ مجازی */
  tools.zwnj = buttonGenerator(
    function () { applyOnSelection(persianWikiTools.applyZwnj); },
    'اصلاح فاصلهٔ مجازی',
    false,
    '//upload.wikimedia.org/wikipedia/fa/d/d0/Button_ZWNJ.png',
    'فاصلهٔ مجازی',
    'فاصلهٔ مجازی',
    'ZWNJ'
  );

  /* نویسهٔ غیراستاندارد */
  tools.nonStandard = buttonGenerator(
    function () { applyOnSelection(persianWikiTools.nonStandard); },
    'اصلاح نویسه',
    false,
    '//upload.wikimedia.org/wikipedia/fa/9/94/Button_non_standard.png',
    'نویسه\u200cهای غیراستاندارد',
    'نویسه\u200cهای غیراستاندارد',
    'non-standard'
  );

  /* اصلاح ارقام */
  tools.dig = buttonGenerator(
    function () { applyOnSelection(persianWikiTools.wikiTextDigitsToPersian); },
    'اصلاح ارقام',
    false,
    '//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png',
    'اصلاح ارقام',
    'ارقام',
    'numbers'
  );

  /* اصلاح ارقام مخصوص صفحه انتقال */
  tools.digMove = buttonGenerator(
    function () { applyOnSelection(persianWikiTools.convertDigitsToPersian); },
    'اصلاح ارقام',
    false,
    '//upload.wikimedia.org/wikipedia/fa/4/4a/Button_numbers.png',
    'عددون اصلاح هاکردن',
    'ارقام',
    'numbers'
  );

  /* یونیکد نشانی وب */
  tools.urlFix = buttonGenerator(
    function () { applyOnSelection(persianWikiTools.wikiUrlMinifier); },
    'اصلاح نشانی وب',
    false,
    '//upload.wikimedia.org/wikipedia/fa/b/ba/Button_decode_URI.png',
    'یونی\u200cکدسازی نشانی\u200cها',
    'یونی\u200cکدسازی',
    'decode-URI'
  );

  /* اصلاح علامت @ */
  tools.atSignFix = buttonGenerator(
    function () {
      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'
  );

  /* ابرابزار */
  tools.superTool = buttonGenerator(
    function () {
      applyOnSelection(function (text) {
        text = persianWikiTools.wikiConvertToPersianCharacters(text);
        text = persianWikiTools.applyZwnj(text);
        text = persianWikiTools.nonStandard(text);
        if (mw.config.get('wgNamespaceNumber') !== 10) {
          text = persianWikiTools.wikiTextDigitsToPersian(text);
        }
        text = persianWikiTools.wikiUrlMinifier(text);
        text = persianWikiTools.wikiDictation(text);
        return persianWikiTools.wikiPunctuation(text);
      });
    },
    'ابرابزار',
    false,
    '//upload.wikimedia.org/wikipedia/fa/f/fc/Button_super_tool.png',
    'ابرابزار',
    'ابرابزار',
    'super-tool'
  );

/* اصلاحات نقطه‌گذاری */
var EE_Punc = buttonHTMLGenerator(
  "Punctuation(document.editform.wpTextbox1)",
  "اصلاح سجاوندی",
  false,
  "fa/e/ed/Button_punctuation.png",
  "نقطه‌گذاری",
  "نقطه‌گذاری"
);

/* اصلاح ترتیب میون‌ویکیون */
var EE_InterW = buttonHTMLGenerator(
  "InterwikiSorter(document.editform.wpTextbox1)",
  "اصلاح ترتیب میون‌ویکیون",
  false,
  "fa/9/96/Button_interwiki.png",
  "اصلاح ترتیب میون‌ویکیون",
  "ترتیب میون‌ویکیون"
);

// Buttons that add tags

/* برچسب ویکی‌سازی */
var EE_Wikify = buttonHTMLGenerator(
  "void(document.editform.wpTextbox1.value='{{ویکی‌سازی}}\\n'+document.editform.wpTextbox1.value)",
  "برچسب ویکی‌سازی",
  false,
  "fa/3/38/Button_wikify.png",
  "ویکی‌ساجی",
  "ویکی‌سازی"
);

/* بدون منبع */
var EE_NoS = buttonHTMLGenerator(
  "void(document.editform.wpTextbox1.value='{{بدون منبع}}\\n'+document.editform.wpTextbox1.value)",
  "برچسب منبع",
  false,
  "fa/8/8a/Button_no_source_fa.png",
  "بی‌منبع",
  "بدون منبع"
);

/* حذف سریع */
var EE_SpeedyDel = buttonHTMLGenerator(
  "temp1=document.editform.wpTextbox1;temp2=temp1.value;temp1.value='';insertTags('{{سریع حذف|','}}\\n'+temp2,'معیار');",
  "حذف سریع",
  true,
  "fa/c/c1/Button_delete_vote.png",
  "سریع حذف هاکردن",
  "حذف سریع"
);

/* حذف زمان‌دار */
var EE_PROD = buttonHTMLGenerator(
  "temp2=document.editform.wpTextbox1;temp3=temp2.value;temp2.value='';insertTags('{{جا:حذف زمان‌دار|','}}\\n'+temp3,'معیار')",
  "زمون‌دار حذف",
  true,
  "commons/3/3f/Button_attendre.png",
  "برچسب حذف زمان‌دار",
  "حذف زمان‌دار"
);

/* منبع تصویر نامعلوم */
var EE_PicSource = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='{{منبع تصویر نامعلوم}}\\n'+document.editform.wpTextbox1.value",
  "برچسب منبع",
  false,
  "fa/5/59/Button_image_source.png",
  "بی‌منبع عکس",
  "منبع تصویر نامعلوم"
);

/* حق تکثیر تصویر نامعلوم */
var EE_PicCopy = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='{{جا:حق تکثیر تصویر نامعلوم}}\\n'+ document.editform.wpTextbox1.value",
  "کپی‌رایت",
  false,
  "fa/7/7e/Button_image_copyright.png",
  "برچسب حق تکثیر تصویر نامعلوم",
  "حق تکثیر تصویر نامعلوم"
);

/* تمیزکاری */
var EE_Cleanup = buttonHTMLGenerator(
  "void(document.editform.wpTextbox1.value='{{تمیزکاری}}\\n'+document.editform.wpTextbox1.value);",
  "برچسب تمیزکاری",
  false,
  "commons/2/2e/Button_broom.png",
  "تمیزکاری",
  "تمیزکاری"
);

/* اخطار نگاره */
var EE_ImgWarn = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='';insertTags('{{جا:اخطار نگاره|','}}','نگاره')",
  "برچسب نگاره",
  false,
  "commons/e/ec/Button_aviso.png",
  "اخطار نگاره",
  "اخطار نگاره"
);

/* حق تکثیر مشکوک */
var EE_Sus = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='{{حق تکثیر مشکوک}}\\n'+document.editform.wpTextbox1.value",
  "برچسب حق تکثیر",
  false,
  "fa/c/c7/Button_Sus.png",
  "کپی‌رایت مشکوک",
  "حق تکثیر مشکوک"
);

/* نقض حق تکثیر */
var EE_CopyR = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='';insertTags('{{جا:نقض حق تکثیر|url=','}}','Address')",
  "برچسب حق تکثیر",
  false,
  "fa/6/6f/Button_CopyR.png",
  "برچسب نقض حق تکثیر",
  "نقض حق تکثیر"
);

/* نخاش لحن */
var EE_Tone = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='{{نخاش لحن}}\\n'+document.editform.wpTextbox1.value",
  "برچسب لحن",
  false,
  "fa/f/fc/Button_Tone.png",
  "برچسب نخاش لحن",
  "لحن"
);

// Buttons that help with wiki writing

/* تغییر جهت */
var EE_toggleDirection = buttonHTMLGenerator(
  "toggleDir(document.editform.wpTextbox1);",
  "",
  true,
  "fa/d/d0/Button_toggle_dir.png",
  "تغییر جهت جعبهٔ ویرایش",
  "تغییرجهت"
);

/* دله‌یی پیوند */
var EE_wikilink = buttonHTMLGenerator(
  "insertTags('[[',']]','صفحه');",
  "",
  true,
  "fa/d/d0/Button_in_wikify.png",
  "پیوند",
  "پیوند"
);

/* خط‌بخاررد بنویشته */
var EE_StrikeTextButton = buttonHTMLGenerator(
  "insertTags('<s>','</s>','خط‌بخاررد بنویشته')",
  "",
  true,
  "commons/c/c9/Button_strike.png",
  "خط‌بخاررد بنویشته",
  "خط‌بخاررد بنویشته"
);

/* نگارخانه */
var EE_GalleryButton = buttonHTMLGenerator(
  "insertTags('\\n<gallery>\\n','\\n</gallery>','پرونده:PictureFileName.jpg|شرح\\nتصویر:PictureFileName.jpg|شرح')",
  "",
  true,
  "fa/1/12/Button_gallery.png",
  "نگارخنه",
  "نگارخانه"
);

/* توضیح */
var EE_CommentButton = buttonHTMLGenerator(
  "insertTags('<!--','-->','توضیح')",
  "",
  true,
  "commons/3/34/Button_hide_comment.png",
  "توضیح",
  "توضیح"
);

/* ملزومات مقاله */
var EE_AddEssentialThings = buttonHTMLGenerator(
  "insertTags('== وابسته جستارون ==\\n\\n== منابع ==\\n{{پانویس}}','','')",
  "",
  true,
  "commons/e/ef/Add_note.jpg",
  "ملزومات مقاله",
  "ملزومات مقاله"
);

/* خش بیمونی */
var EE_Welcome = buttonHTMLGenerator(
  "insertTags('{{جا:خش بیمونی|~~~~}}','','')",
  "خش بیمونی",
  true,
  "commons/4/4a/Smilies_Alien_cool.png",
  "خش بیمونی",
  "خش بیمونی"
);

/* چپ‌چین */
var EE_ChapChin = buttonHTMLGenerator(
  "insertTags('{{چپ‌چین}}\\n','\\n{{پایان چپ‌چین}}','چپ‌چین‌بیی بنویشته')",
  "",
  true,
  "en/e/ea/Button_align_left.png",
  "بنویشته چپ‌چین‌هاکردن",
  "چپ‌چین"
);

/* سرخط */
var EE_SareSatr = buttonHTMLGenerator(
  "insertTags('<br />','','')",
  "",
  true,
  "en/1/13/Button_enter.png",
  "سرخط",
  "سرخط"
);

/* اندیس بالا */
var EE_UpperText = buttonHTMLGenerator(
  "insertTags('<sup>','</sup>','اندیس')",
  "",
  true,
  "en/8/80/Button_upper_letter.png",
  "اندیس بالا",
  "اندیس بالا"
);

/* اندیس پایین */
var EE_LowerText = buttonHTMLGenerator(
  "insertTags('<sub>','</sub>','اندیس')",
  "",
  true,
  "en/7/70/Button_lower_letter.png",
  "اندیس پایین",
  "اندیس پایین"
);

/* تغییرمسیر */
var EE_RedirectButton = buttonHTMLGenerator(
  "document.editform.wpTextbox1.value='';insertTags('#تغییرمسیر [[',']]','پیوند')",
  "",
  true,
  "en/c/c8/Button_redirect.png",
  "تغییرمسیر",
  "تغییرمسیر"
);

/* سال میلادی */
var EE_GregYear = buttonHTMLGenerator(
  "insertTags('[[',' (میلادی)]]','سال')",
  "",
  true,
  "fa/a/a7/Button_cal.png",
  "سال میلادی",
  "میلادی"
);

/* کد */
var EE_CodeButton = buttonHTMLGenerator(
  "insertTags('<code>','</code>','کد')",
  "",
  true,
  "fa/2/23/Button_code.png",
  "کد برچسب",
  "کد"
);

/* جدول */
var EE_TableButton = buttonHTMLGenerator(
  "insertTags('\\n{| border=1 \\n|- \\n| ش۱ || ش۲ \\n|- \\n| ش۳ || ش۴','\\n|}\\n','')",
  "",
  true,
  "commons/6/60/Button_insert_table.png",
  "جدول بساتن",
  "جدول"
);

/* مرتب‌سازی */
var EE_sorttext = buttonHTMLGenerator(
  "SortText(document.editform.wpTextbox1,true)",
  "",
  true,
  "fa/3/33/Button_sort.png",
  "مرتب‌سازی الفبا جه",
  "مرتب‌سازی"
);

/* شد! */
var EE_shod = buttonHTMLGenerator(
  "void(document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+'\n:{{شد}} ~~~~')",
  "",
  true,
  "commons/5/5b/Button_check.png",
  "شد",
  "شد"
);

// Default configuartion

var EE_Spacer = " ";

var EE_NewRow = "<br />";

if (typeof(ExtraEditButtons) === "undefined") {
  var ExtraEditButtons = EE_toggleDirection + EE_Spacer + EE_YKArabic +
  EE_zwnj + EE_nonS + EE_Dig + EE_Punc + EE_STool + EE_Spacer +
  EE_URLFIX + EE_InterW + EE_Spacer + EE_Welcome +
  EE_AddEssentialThings + EE_NoS + EE_Sus + EE_Tone +
  EE_Wikify + EE_shod + EE_Cleanup + EE_SpeedyDel + EE_PROD +
  EE_Spacer + EE_RedirectButton + EE_GregYear +
  EE_StrikeTextButton + EE_ChapChin + EE_TableButton +
  EE_CommentButton + EE_Spacer + EE_sorttext + EE_NewRow;
}

if (typeof(ExtraMoveButtons) === "undefined") {
  var ExtraMoveButtons = EE_STool + EE_Spacer + EE_toggleDirection +
     EE_Spacer + EE_YKArabic + EE_zwnj + EE_nonS + EE_Dig +
     EE_Punc;
}

// Onload hooks

$( function(){
  if ($("#wpTextbox1")){
    var tooly = document.createElement("tooly");
    tooly.innerHTML = ExtraEditButtons;
    $(tooly).insertBefore("#wpTextbox1");
  }
} );

$( function (){
  if ($("#movepage")){
   var ButtonsHTML = "<span>" + (ExtraMoveButtons).replace(/editform\.wpTextbox1(,true)?/g, "getElementById('wpNewTitleMain')") + "</span>";
   $(ButtonsHTML).insertAfter("#wpNewTitleMain");
  } 
} );

/*</pre>*/