مدیاویکی:Gadget-Extra-Editbuttons.js

ویکی‎کتاب، کتابخانهٔ آزاد
پرش به ناوبری پرش به جستجو

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

  • فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلید‌های Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-R)
  • گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانه‌های اپل مکینتاش کلید‌های ⌘-Shift-R)
  • اینترنت اکسپلورر: کلید Ctrl را نگه‌دارید و روی دکمهٔ Refresh کلیک کنید، یا کلید‌های Ctrl-F5 را با هم فشار دهید
  • اپرا: بروید به Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
// <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('editToken')
		});
	},

	/**
	 * 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('wgPageName') !== 'صفحهٔ_اصلی') {
		$.when($.ready, mw.loader.using('jquery.ui.dialog')).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('{{subst:الگوی خالی|<strong class="error">از دستور جا: استفاده کنید</strong>}}{{حق تکثیر تصویر نامعلوم۲|19 January 2019|{{جلالی|19|January|2019|پیوند=نه}}}}
\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(
					'{{subst:الگوی خالی|<span style="font-size: large; color: red">'''شما فراموش کرده‌اید در این الگو دستور ''جانشینی'' را اعمال کنید. به‌جای {{اخطار نگاره{{!}}پیغام}} لطفاً {{جا:اخطار نگاره{{!}}پیغام}} را تایپ کنید.'''</span>}}
== وضعیت [[:پرونده:',
					']] ==
کاربر گرامی، پرونده [[:پرونده:',
					'|]] که در ویکی‌کتاب بارگذاری کرده‌اید منبع یا برچسب حق تکثیر مناسب ندارد. لطفاً با توجه به [[ویکی‌کتاب:حق تکثیر]] و [[ویکی‌کتاب:برچسب‌های حق تکثیر]] حق تکثیر و منبع پرونده را مشخص کنید. در صورتی که تا یک هفته منبع و یا برچسب حق‌تکثیر اضافه نشود، پرونده بارگذاری‌شده پاک خواهدشد. [[کاربر:Krinkle|Krinkle]] ([[بحث کاربر:Krinkle|بحث]]) ‏۱۹ ژانویهٔ ۲۰۱۹، ساعت ۰۲:۵۷ (UTC)',
					'نگاره'
				);
			},
			'برچسب نگاره',
			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(
					'{{ambox
|type=notice
|image=[[Image:Copyright-problem.svg|40px]]
|style=border-color: #000;
|text=<big><center>'''احتمال نقض حق تکثیر'''</big></center>
'''محتوای این صفحه ممکن است [[ویکی‌کتاب:حقوق نسخه برداری|سیاست حق تکثیر ویکی‌کتاب]] را نقض کند.''' مطالب صفحه پنهان شده‌است و بحث بر روی این اثر در [[ون:نقض#{{#اگر:|{{{لنگر}}}|{{کدلنگر:{{نام‌کامل‌صفحه}}}}}}|نقض حق تکثیرهای احتمالی]] در حال انجام است که می‌توانید نظرتان را در آنجا منعکس کنید.

ایجادکنندهٔ صفحه مسئولیت اصلی نشان دادن انطباق اثر با سیاست حق تکثیر ویکی‌کتاب و احراز صلاحیت آن ادامهٔ حضور در ویکی‌کتاب را بر عهده دارد. سایر کاربران نیز ممکن است برای اثبات این امر تلاش بکنند، اما اجباری متوجه آن‌ها نیست. عدم موفقیت در اثبات این امر ممکن است به حذف صفحه منجر شود.
}}[[رده:نقض حق تکثیرهای احتمالی]]<div id="copyvio" style="display:none;">',
					'نشانی اینترنتی'
				);
			},
			'برچسب حق تکثیر',
			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(
					'== خوش آمدید ==
[[File:Carl Spitzweg 021-detail.jpg|thumb|left|180px|خوش‌آمدید!]]
<br/>

سلام {{PAGENAME}}، به ویکی‌کتاب خوش آمدید. از مشارکت شما سپاسگزارم. امیدوارم که از اینجا خوشتان بیاید و تصمیم به ماندن بگیرید.  راهنماهای ویکی‌کتاب در [[راهنما:فهرست|اینجا]] است اما پیوندهای زیر برای کاربرهای جدید مفیدند:

{|
|- 
|[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکی‌کتاب:ویکی‌کتاب چیست؟|ویکی‌نسک (ویکی‌کتاب) چیست؟]] || [[ویکی‌کتاب:ویکی‌کتاب چیست؟|ویکی‌نسک (ویکی‌کتاب) چیست؟]]
|- 
| [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکی‌کتاب:آموزش سریع|آموزش سریع]] || [[ویکی‌کتاب:آموزش سریع|آموزش سریع]] آموزش کار با زبان مدیاویکی (محیط ویکی‌کتاب)
|-
| [[پرونده:Cscr-featured.svg|30px|right|link=ویکی‌کتاب:کتاب‌های برگزیده|کتاب‌های برگزیده]] || [[ویکی‌کتاب:کتاب‌های برگزیده|کتاب‌های برگزیده]] فهرستی از کتاب‌های برگزیده 
|-
| [[پرونده:Nuvola apps chat.png|30px|right|link=ویکی‌کتاب:میز تحریر|میز تحریر]]||[[ویکی‌کتاب:میز تحریر]]  برای گفتگو دربارهٔ مسائل فنی و سیاست‌ها.
|-
| [[پرونده:Nuvola_apps_bookcase_1.svg|30px|right|link=ویکی‌کتاب:خودآموز/کمک کردن در یکی از کتاب‌های موجود|کمک کردن در یکی از کتاب‌های موجود]]||[[ویکی‌کتاب:خودآموز/کمک کردن در یکی از کتاب‌های موجود|کمک کردن در یکی از کتاب‌های موجود]] راه‌های تکمیل و ویرایش ایبوک‌های ویکی‌کتاب
|-
|[[File:Bucket in the sand.svg|right|50px|link=ویکی‌کتاب:صفحه تمرین|صفحه تمرین]]||[[ویکی‌کتاب:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش
|-
|[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکی‌کتاب:خودآموز|آموزش پیشرفته]]||[[w:ویکی‌پدیا:خودآموز|آموزش پیشرفته]]
|-
|'''پروژه‌های دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|20px|link=w:صفحه_اصلی|ویکی‌پدیا]][[پرونده:HSWikimedia.svg|25px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|25px|link=commons:Special:Recentchanges|ویکی‌انبار]][[پرونده:HSWNews.svg|25px|link=n:ویژه:تغییرات اخیر|ویکی‌خبر]] [[پرونده:HSWtionary.svg|25px|link=wikt:صفحه_اصلی|ویکی‌واژه]] [[پرونده:HSWQuote.svg|25px|link=q:صفحه_اصلی|ویکی‌گفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکی‌نبشته]][[پرونده:Wikidata-logo.svg|25px|link=wikidata:صفحه_اصلی|ویکی‌داده]]
|}
امیدوارم از ''[[ویکی‌نسک:ویکی‌نسک‌نویسان|ویکی‌نسک‌نویس]]'' بودن لذت ببرید! لطفاً برای آزمایش از [[ویکی‌کتاب:گودال ماسه‌بازی]] استفاده کنید. باز هم خوش آمد می‌گویم.[[کاربر:Krinkle|Krinkle]] ([[بحث کاربر:Krinkle|بحث]]) ‏۱۹ ژانویهٔ ۲۰۱۹، ساعت ۰۲:۵۷ (UTC)

',
					'',
					''
				);
			},
			'خوشامدگویی',
			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:{{شد}} [[کاربر:Krinkle|Krinkle]] ([[بحث کاربر:Krinkle|بحث]]) ‏۱۹ ژانویهٔ ۲۰۱۹، ساعت ۰۲:۵۷ (UTC)');
			},
			'شد',
			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 );
	});
});