CINXE.COM
عرض مصدر وحدة:توثيق - ويكيبيديا
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-not-available" lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <title>عرض مصدر وحدة:توثيق - ويكيبيديا</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-not-available";var cookie=document.cookie.match(/(?:^|; )arwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":true,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat": "dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"85f0344d-3bfa-4084-8d8c-ca17040deeb8","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"وحدة:توثيق","wgTitle":"توثيق","wgCurRevisionId":67835096,"wgRevisionId":0,"wgArticleId":2159745,"wgIsArticle":false,"wgIsRedirect":false,"wgAction":"edit","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"وحدة:توثيق","wgRelevantArticleId":2159745,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["editeditorprotected"],"wgRestrictionMove":["editeditorprotected"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":2}}},"wgStableRevisionId":67835096, "wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgCodeEditorCurrentLanguage":"lua","wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":true,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false,"wgSiteNoticeId":"2.73"};RLSTATE={"ext.gadget.Font-Amiri":"ready", "ext.gadget.palestineTheme":"ready","ext.gadget.WMP-icons":"ready","ext.gadget.Font-Arial":"ready","ext.gadget.HideExLinkIcon":"ready","ext.gadget.Urgent-fixes":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.codeEditor.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","mediawiki.ui.button":"ready","ext.charinsert.styles":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready","ext.dismissableSiteNotice.styles":"ready"};RLPAGEMODULES=["ext.codeEditor","ext.scribunto.edit","mediawiki.action.edit.collapsibleFooter","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.charinsert", "ext.flaggedRevs.advanced","ext.gadget.events-loader","ext.gadget.ArabicAds","ext.gadget.Defaulteditnotices","ext.gadget.searchlang","ext.gadget.exlinks","ext.gadget.charinsert","ext.gadget.TemplateParamWizard","ext.gadget.decodesummary","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","wikibase.sidebar.tracking","ext.dismissableSiteNotice"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=ar&modules=ext.charinsert.styles%7Cext.codeEditor.styles%7Cext.dismissableSiteNotice.styles%7Cext.flaggedRevs.basic%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.ui.button%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=ar&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=ar&modules=ext.gadget.Font-Amiri%2CFont-Arial%2CHideExLinkIcon%2CUrgent-fixes%2CWMP-icons%2CpalestineTheme&only=styles&skin=vector-2022"> <link rel="stylesheet" href="/w/load.php?lang=ar&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,nofollow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="عرض مصدر وحدة:توثيق - ويكيبيديا"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//ar.m.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="ويكيبيديا (ar)"> <link rel="EditURI" type="application/rsd+xml" href="//ar.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ar"> <link rel="alternate" type="application/atom+xml" title="تلقيمة أتوم ويكيبيديا" href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%A3%D8%AD%D8%AF%D8%AB_%D8%A7%D9%84%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1%D8%A7%D8%AA&feed=atom"> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="codeeditor-loading skin--responsive skin-vector skin-vector-search-vue mediawiki rtl sitedir-rtl mw-hide-empty-elt ns-828 ns-subject page-وحدة_توثيق rootpage-وحدة_توثيق skin-vector-2022 action-edit"><a class="mw-jump-link" href="#bodyContent">انتقل إلى المحتوى</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="الموقع"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="القائمة الرئيسية" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">القائمة الرئيسية</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">القائمة الرئيسية</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">انقل للشريط الجانبي</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">أخف</button> </div> <div id="p-encyclopedia" class="vector-menu mw-portlet mw-portlet-encyclopedia" > <div class="vector-menu-heading"> الموسوعة </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D8%A9" title="زر الصفحة الرئيسية [z]" accesskey="z"><span>الصفحة الرئيسة</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/%D8%A8%D9%88%D8%A7%D8%A8%D8%A9:%D8%A3%D8%AD%D8%AF%D8%A7%D8%AB_%D8%AC%D8%A7%D8%B1%D9%8A%D8%A9" title="مطالعة سريعة لأهم الأحداث الجارية"><span>الأحداث الجارية</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%A3%D8%AD%D8%AF%D8%AB_%D8%A7%D9%84%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1%D8%A7%D8%AA" title="قائمة أحدث التغييرات في الويكي. [r]" accesskey="r"><span>أحدث التغييرات</span></a></li><li id="n-wrecentchanges" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%A3%D8%AD%D8%AF%D8%AB_%D8%A7%D9%84%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D9%88%D8%B5%D9%88%D9%84%D8%A9/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B5%D9%81%D8%AD%D8%A7%D8%AA_%D9%85%D9%87%D9%85%D8%A9"><span>أحدث التغييرات الأساسية</span></a></li> </ul> </div> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> تصفح </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-subjects" class="mw-list-item"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%AA%D8%B5%D9%81%D8%AD"><span>المواضيع</span></a></li><li id="n-index" class="mw-list-item"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%81%D9%87%D8%B1%D8%B3_%D8%B3%D8%B1%D9%8A%D8%B9"><span>أبجدي</span></a></li><li id="n-portals" class="mw-list-item"><a href="/wiki/%D8%A8%D9%88%D8%A7%D8%A8%D8%A9:%D8%AA%D8%B5%D9%81%D8%AD"><span>بوابات</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%B9%D8%B4%D9%88%D8%A7%D8%A6%D9%8A" title="حمل صفحة عشوائية [x]" accesskey="x"><span>مقالة عشوائية</span></a></li><li id="n-Kiwix" class="mw-list-item"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%83%D9%8A%D9%88%D9%8A%D9%83%D8%B3"><span>تصفح من غير إنترنت</span></a></li> </ul> </div> </div> <div id="p-contributing" class="vector-menu mw-portlet mw-portlet-contributing" > <div class="vector-menu-heading"> مشاركة </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-contact" class="mw-list-item"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A7%D8%AA%D8%B5%D9%84_%D8%A8%D9%86%D8%A7"><span>تواصل مع ويكيبيديا</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF%D8%A9:%D9%85%D8%AD%D8%AA%D9%88%D9%8A%D8%A7%D8%AA" title="حيث تجد المساعدة"><span>مساعدة</span></a></li><li id="n-villagepump" class="mw-list-item"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A7%D9%84%D9%85%D9%8A%D8%AF%D8%A7%D9%86"><span>الميدان</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D8%A9" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="ويكيبيديا" src="/static/images/mobile/copyright/wikipedia-wordmark-ar.svg" style="width: 7em; height: 2.4375em;"> <img class="mw-logo-tagline" alt="" src="/static/images/mobile/copyright/wikipedia-tagline-ar.svg" width="105" height="22" style="width: 6.5625em; height: 1.375em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%A8%D8%AD%D8%AB" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="ابحث في ويكيبيديا [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>بحث</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="ابحث في ويكيبيديا" aria-label="ابحث في ويكيبيديا" autocapitalize="sentences" title="ابحث في ويكيبيديا [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="خاص:بحث"> </div> <button class="cdx-button cdx-search-input__end-button">بحث</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="أدوات شخصية"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="المظهر"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="تغيير مظهر الصفحة، حجم الخط، العرض واللون" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="المظهر" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">المظهر</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_ar.wikipedia.org&uselang=ar" class=""><span>تبرع</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%A5%D9%86%D8%B4%D8%A7%D8%A1_%D8%AD%D8%B3%D8%A7%D8%A8&returnto=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82&returntoquery=action%3Dedit" title="نشجعك على عمل حساب وتسجيل دخولك؛ لكنه غير ضروري على اي حال" class=""><span>إنشاء حساب</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%AF%D8%AE%D9%88%D9%84_%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85&returnto=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82&returntoquery=action%3Dedit" title="يفضل أن تسجل الدخول، لكنه ليس إلزاميا. [o]" accesskey="o" class=""><span>دخول</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="المزيد من الخيارات" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="أدوات شخصية" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">أدوات شخصية</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="قائمة المستخدم" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_ar.wikipedia.org&uselang=ar"><span>تبرع</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%A5%D9%86%D8%B4%D8%A7%D8%A1_%D8%AD%D8%B3%D8%A7%D8%A8&returnto=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82&returntoquery=action%3Dedit" title="نشجعك على عمل حساب وتسجيل دخولك؛ لكنه غير ضروري على اي حال"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>إنشاء حساب</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%AF%D8%AE%D9%88%D9%84_%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85&returnto=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82&returntoquery=action%3Dedit" title="يفضل أن تسجل الدخول، لكنه ليس إلزاميا. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>دخول</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> صفحات للمحررين الذين سجَّلوا خروجهم <a href="/wiki/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF%D8%A9:%D9%85%D9%82%D8%AF%D9%85%D8%A9" aria-label="تعلَّم المزيد بخصوص التحرير"><span>تعلَّم المزيد</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D9%85%D8%B3%D8%A7%D9%87%D9%85%D8%A7%D8%AA%D9%8A" title="قائمة بتعديلات قام بها عنوان الآي بي [y]" accesskey="y"><span>مساهمات</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D9%86%D9%82%D8%A7%D8%B4%D9%8A" title="نقاش حول التعديلات من عنوان الأيبي هذا [n]" accesskey="n"><span>نقاش</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><div id="mw-dismissablenotice-anonplace"></div><script>(function(){var node=document.getElementById("mw-dismissablenotice-anonplace");if(node){node.outerHTML="\u003Cdiv class=\"mw-dismissable-notice\"\u003E\u003Cdiv class=\"mw-dismissable-notice-close\"\u003E\u003Ca tabindex=\"0\" role=\"button\"\u003E\u003C/a\u003E\u003C/div\u003E\u003Cdiv class=\"mw-dismissable-notice-body\"\u003E\u003C!-- CentralNotice --\u003E\u003Cdiv id=\"localNotice\" data-nosnippet=\"\"\u003E\u003Cdiv class=\"anonnotice\" lang=\"ar\" dir=\"rtl\"\u003E\u003Ctable style=\"border: 1px solid #a40007; padding: 10px; width:100%; background-image: linear-gradient(#000000,#000000)\"\u003E\n\u003Ctbody\u003E\u003Ctr\u003E\n\u003Ctd style=\"width:10%\"\u003E\u003Cspan typeof=\"mw:File\"\u003E\u003Ca href=\"/wiki/%D9%85%D9%84%D9%81:Arabic_Wikipedia_Logo_Gaza_(3).svg\" class=\"mw-file-description\"\u003E\u003Cimg src=\"//upload.wikimedia.org/wikipedia/commons/thumb/5/55/Arabic_Wikipedia_Logo_Gaza_%283%29.svg/70px-Arabic_Wikipedia_Logo_Gaza_%283%29.svg.png\" decoding=\"async\" width=\"70\" height=\"99\" class=\"mw-file-element\" srcset=\"//upload.wikimedia.org/wikipedia/commons/thumb/5/55/Arabic_Wikipedia_Logo_Gaza_%283%29.svg/105px-Arabic_Wikipedia_Logo_Gaza_%283%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/55/Arabic_Wikipedia_Logo_Gaza_%283%29.svg/140px-Arabic_Wikipedia_Logo_Gaza_%283%29.svg.png 2x\" data-file-width=\"241\" data-file-height=\"342\" /\u003E\u003C/a\u003E\u003C/span\u003E\n\u003C/td\u003E\n\u003Ctd style=\"width:80%; text-align:center ; color:white\"\u003E\u003Cspan style=\"font-size:100%\"\u003E\n\u003Cp\u003E\u003Cb\u003E\u003Ca href=\"/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A3%D9%88%D9%82%D9%81%D9%88%D8%A7_%D8%A7%D9%84%D8%AD%D8%B1%D8%A8_%D9%88%D8%A7%D9%86%D8%B4%D8%B1%D9%88%D8%A7_%D8%A7%D9%84%D8%B3%D9%84%D8%A7%D9%85\" title=\"ويكيبيديا:أوقفوا الحرب وانشروا السلام\"\u003E\u003Cspan style=\"color:white\"\u003Eتضامنًا\u003C/span\u003E\u003C/a\u003E مع حق الشعب \u003Ca href=\"/wiki/%D9%81%D9%84%D8%B3%D8%B7%D9%8A%D9%86\" title=\"فلسطين\"\u003E\u003Cspan style=\"color:white\"\u003Eالفلسطيني\u003C/span\u003E\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\n\u003Cb\u003Eلا \u003Ca href=\"/wiki/%D8%A7%D9%84%D8%AD%D8%B1%D8%A8_%D8%A7%D9%84%D9%81%D9%84%D8%B3%D8%B7%D9%8A%D9%86%D9%8A%D8%A9_%D8%A7%D9%84%D8%A5%D8%B3%D8%B1%D8%A7%D8%A6%D9%8A%D9%84%D9%8A%D8%A9_2023\" class=\"mw-redirect\" title=\"الحرب الفلسطينية الإسرائيلية 2023\"\u003E\u003Cspan style=\"color:red\"\u003Eللإبادة الجماعية في غزة\u003C/span\u003E\u003C/a\u003E\u003C/b\u003E .... \u003Cb\u003Eلا \u003Ca href=\"/wiki/%D8%AA%D8%B5%D9%86%D9%8A%D9%81:%D9%85%D8%B0%D8%A7%D8%A8%D8%AD_%D8%AE%D9%84%D8%A7%D9%84_%D8%A7%D9%84%D8%AD%D8%B1%D8%A8_%D8%A7%D9%84%D9%81%D9%84%D8%B3%D8%B7%D9%8A%D9%86%D9%8A%D8%A9_%D8%A7%D9%84%D8%A5%D8%B3%D8%B1%D8%A7%D8%A6%D9%8A%D9%84%D9%8A%D8%A9_2023\" title=\"تصنيف:مذابح خلال الحرب الفلسطينية الإسرائيلية 2023\"\u003E\u003Cspan style=\"color:red\"\u003Eلقتل المدنيين\u003C/span\u003E\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E \n\u003Cb\u003Eلا \u003Ca href=\"/wiki/%D9%85%D8%AC%D8%B2%D8%B1%D8%A9_%D9%85%D8%B3%D8%AA%D8%B4%D9%81%D9%89_%D8%A7%D9%84%D9%85%D8%B9%D9%85%D8%AF%D8%A7%D9%86%D9%8A\" title=\"مجزرة مستشفى المعمداني\"\u003E\u003Cspan style=\"color:red\"\u003Eلاستهداف المستشفيات والمدارس\u003C/span\u003E\u003C/a\u003E\u003C/b\u003E .... \u003Cb\u003Eلا \u003Ca href=\"/wiki/%D8%B9%D9%85%D9%84%D9%8A%D8%A9_%D8%B7%D9%88%D9%81%D8%A7%D9%86_%D8%A7%D9%84%D8%A3%D9%82%D8%B5%D9%89#الدعاية_الإسرائيلية\" title=\"عملية طوفان الأقصى\"\u003E\u003Cspan style=\"color:red\"\u003Eللتضليل والكيل بمكيالين\u003C/span\u003E\u003C/a\u003E\u003C/b\u003E\u003Cbr /\u003E\n\u003Cb\u003E\u003Ca href=\"/wiki/%D9%88%D9%82%D9%81_%D8%A5%D8%B7%D9%84%D8%A7%D9%82_%D8%A7%D9%84%D9%86%D8%A7%D8%B1_%D9%81%D9%8A_%D8%BA%D8%B2%D8%A9_2023\" class=\"mw-redirect\" title=\"وقف إطلاق النار في غزة 2023\"\u003E\u003Cspan style=\"color:white\"\u003Eأوقفوا الحرب\u003C/span\u003E\u003C/a\u003E .... وانشروا السلام العادل والشامل\u003C/b\u003E\n\u003C/p\u003E\n\n\u003C/span\u003E\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E";}}());</script></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="الموقع"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading">عرض مصدر وحدة:توثيق</h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="هذه المقالة تتواجد فقط في هذه اللغة. أضفها إلى اللغات الأخرى." > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">أضف لغات</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="نطاقات"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="عرض صفحة الوحدة [c]" accesskey="c"><span>وحدة</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/%D9%86%D9%82%D8%A7%D8%B4_%D8%A7%D9%84%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" rel="discussion" title="نقاش صفحة المحتوى [t]" accesskey="t"><span>نقاش</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="غيّر لهجة اللغة" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="معاينة"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="vector-tab-noicon mw-list-item"><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82"><span>اقرأ</span></a></li><li id="ca-viewsource" class="selected vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=edit" title="هذه الصفحة محمية. يمكنك مطالعة مصدرها. [e]" accesskey="e"><span>عرض المصدر</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=history" title="النسخ السابقة لهذه الصفحة [h]" accesskey="h"><span>تاريخ</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="أدوات الصفحة"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="أدوات" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">أدوات</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">أدوات</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">انقل للشريط الجانبي</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">أخف</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="المزيد من الخيارات" > <div class="vector-menu-heading"> إجراءات </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="vector-more-collapsible-item mw-list-item"><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82"><span>اقرأ</span></a></li><li id="ca-more-viewsource" class="selected vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=edit"><span>عرض المصدر</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=history"><span>تاريخ</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> عام </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D9%85%D8%A7%D8%B0%D8%A7_%D9%8A%D8%B5%D9%84_%D9%87%D9%86%D8%A7/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="قائمة بكل صفحات الويكي التي تصل هنا [j]" accesskey="j"><span>ماذا يصل هنا</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%A3%D8%AD%D8%AF%D8%AB_%D8%A7%D9%84%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D9%88%D8%B5%D9%88%D9%84%D8%A9/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" rel="nofollow" title="أحدث التغييرات في الصفحات الموصولة من هذه الصفحة [k]" accesskey="k"><span>تغييرات ذات علاقة</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/ويكيبيديا:رفع" title="ارفع ملفات [u]" accesskey="u"><span>رفع ملف</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%D8%AE%D8%A7%D8%B5:%D8%B5%D9%81%D8%AD%D8%A7%D8%AA_%D8%AE%D8%A7%D8%B5%D8%A9" title="قائمة بكل الصفحات الخاصة [q]" accesskey="q"><span>الصفحات الخاصة</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=info" title="المزيد من المعلومات عن هذه الصفحة"><span>معلومات الصفحة</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:%D8%AA%D9%82%D8%B5%D9%8A%D8%B1_%D8%A7%D9%84%D9%85%D8%B3%D8%A7%D8%B1&url=https%3A%2F%2Far.wikipedia.org%2Fw%2Findex.php%3Ftitle%3D%25D9%2588%25D8%25AD%25D8%25AF%25D8%25A9%3A%25D8%25AA%25D9%2588%25D8%25AB%25D9%258A%25D9%2582%26action%3Dedit"><span>احصل على مسار مختصر</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%D8%AE%D8%A7%D8%B5:QrCode&url=https%3A%2F%2Far.wikipedia.org%2Fw%2Findex.php%3Ftitle%3D%25D9%2588%25D8%25AD%25D8%25AF%25D8%25A9%3A%25D8%25AA%25D9%2588%25D8%25AB%25D9%258A%25D9%2582%26action%3Dedit"><span>تنزيل رمز الاستجابة السريعة</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> في مشاريع أخرى </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q14357839" title="وصلة إلى المادة المرتبطة في مستودع البيانات المركزي [g]" accesskey="g"><span>عنصر ويكي بيانات</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="أدوات الصفحة"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="المظهر"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">المظهر</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">انقل للشريط الجانبي</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">أخف</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> </div> <div id="contentSub"><div id="mw-content-subtitle">→ <a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="وحدة:توثيق">وحدة:توثيق</a></div></div> <div id="mw-content-text" class="mw-body-content"><p>ليس لك صلاحية تعديل هذه الصفحة، للسببين التاليين: </p> <ul class="permissions-errors"><li class="mw-permissionerror-protectedpagetext"><div class="mw-parser-output"> <div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r67666727">.mw-parser-output .pptext-whywhat{margin-top:1em}.mw-parser-output .pptext-whywhat h2{border-bottom:0;font-size:130%;font-weight:bold;padding:0.15em}.mw-parser-output .pptext-submit{list-style:none;display:inline;text-align:center}@media all and (min-width:720px){.mw-parser-output .pptext-whywhat{display:flex}.mw-parser-output .pptext-whywhat>div{flex:1 0 50%}.mw-parser-output .pptext-why>h2,.mw-parser-output .pptext-why>ul{margin-left:20%}}</style><style data-mw-deduplicate="TemplateStyles:r68107331">.mw-parser-output .fmbox{clear:both;margin:0.2em 0;width:100%;border:1px solid #a2a9b1;background-color:var(--background-color-interactive-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .fmbox-warning{border:1px solid #bb7070;background-color:#ffdbdb}.mw-parser-output .fmbox-editnotice{background-color:transparent}.mw-parser-output .fmbox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .fmbox .mbox-image{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .fmbox .mbox-imageleft{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .fmbox .mbox-invalid-type{text-align:center}.mw-parser-output .fmbox-system{background-color:var(--background-color-interactive-subtle,#f8f9fa)}.mw-parser-output .mw-warning-with-logexcerpt,.mw-parser-output .mw-lag-warn-high,.mw-parser-output .mw-cascadeprotectedwarning,.mw-parser-output #mw-protect-cascadeon,.mw-parser-output .titleblacklist-warning{clear:both;margin:0.2em 0;border:1px solid #bb7070;background-color:var(--background-color-interactive-subtle,#ffdbdb);padding:0.25em 0.9em;box-sizing:border-box}@media screen{html.skin-theme-clientpref-night .mw-parser-output .fmbox-warning{background-color:#300}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .fmbox-warning{background-color:#300}}</style><table id="mw-protectedpagetext" class="plainlinks fmbox fmbox-system" role="presentation" style="border-style:none;"><tbody><tr><td class="mbox-text"><style data-mw-deduplicate="TemplateStyles:r68107279">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-imageleft{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:left;float:left;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}.mw-parser-output .ombox-notice{border:1px solid #a2a9b1}.mw-parser-output .ombox-current{border:1px solid #A5D6A7;border-right:2px solid #A5D6A7}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}</style><table class="plainlinks ombox ombox-protection" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Extended-protection-shackle-no-text.svg/40px-Extended-protection-shackle-no-text.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Extended-protection-shackle-no-text.svg/60px-Extended-protection-shackle-no-text.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Extended-protection-shackle-no-text.svg/80px-Extended-protection-shackle-no-text.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text" style="font-weight:bold; font-size:130%;"><div style="text-align: center;">هذه الصفحة محميّةٌ <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B3%D9%8A%D8%A7%D8%B3%D8%A9_%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9" title="ويكيبيديا:سياسة الحماية">حمايةً جزئيّةً</a> حاليًّا بحيث لا يستطيع تعديلها سوى <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%85%D8%B3%D8%AA%D9%88%D9%8A%D8%A7%D8%AA_%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85#محررون" title="ويكيبيديا:مستويات صلاحيات المستخدم">المحرّرون</a> <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A5%D8%AF%D8%A7%D8%B1%D9%8A%D9%88%D9%86" title="ويكيبيديا:إداريون">والإداريون</a>.</div></td></tr></tbody></table><div class="pptext-whywhat"> <div class="pptext-why"> <div class="mw-heading mw-heading2"><h2 id="لماذا_حُميت_هذه_الصفحة؟"><span id=".D9.84.D9.85.D8.A7.D8.B0.D8.A7_.D8.AD.D9.8F.D9.85.D9.8A.D8.AA_.D9.87.D8.B0.D9.87_.D8.A7.D9.84.D8.B5.D9.81.D8.AD.D8.A9.D8.9F"></span>لماذا حُميت هذه الصفحة؟</h2></div> <ul> <li>رغم أنه يُمكن للجميع تعديل أغلب المقالات، إلّا أن <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B3%D9%8A%D8%A7%D8%B3%D8%A9_%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9#أنواع_الحماية" title="ويكيبيديا:سياسة الحماية">الحماية الجزئيّة على مستوى المُحررين</a> ضروريّةٌ أحيانًا لتجنّب <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%AD%D8%B1%D8%A8_%D8%A7%D9%84%D8%AA%D8%AD%D8%B1%D9%8A%D8%B1" title="ويكيبيديا:حرب التحرير">النزاع حول المحتوى</a> في الصفحات الخلافيّة. </li> <li>يُمكن إيجاد سبب الحماية في <a class="external text" href="https://ar.wikipedia.org/w/index.php?title=%D8%AE%D8%A7%D8%B5:Log&type=protect&page=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82">سجل الحماية</a>. إذا لم تكن هنالك مُدخلات متعلقة في سجل الحماية، فرُبما تكون الصفحة قد نُقلت بعد حمايتها. </li> </ul> </div> <div class="pptext-what"> <div class="mw-heading mw-heading2"><h2 id="ما_الذي_يُمكنني_فعله؟"><span id=".D9.85.D8.A7_.D8.A7.D9.84.D8.B0.D9.8A_.D9.8A.D9.8F.D9.85.D9.83.D9.86.D9.86.D9.8A_.D9.81.D8.B9.D9.84.D9.87.D8.9F"></span>ما الذي يُمكنني فعله؟</h2></div> <ul> <li><a href="/wiki/%D9%86%D9%82%D8%A7%D8%B4_%D8%A7%D9%84%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="نقاش الوحدة:توثيق">ناقش هذه الصفحة</a> مع الآخرين.</li> <li>لنقل الصفحات المحميّة، طالع <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B7%D9%84%D8%A8%D8%A7%D8%AA_%D8%A7%D9%84%D9%86%D9%82%D9%84" title="ويكيبيديا:طلبات النقل">طلبات النقل</a>.</li> <li><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A5%D8%AE%D8%B7%D8%A7%D8%B1_%D8%A7%D9%84%D8%A5%D8%AF%D8%A7%D8%B1%D9%8A%D9%8A%D9%86/%D8%AD%D9%85%D8%A7%D9%8A%D8%A9" title="ويكيبيديا:إخطار الإداريين/حماية">اطلب تخفيف مستوى حماية هذه الصفحة</a>.</li> <li><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%85%D9%82%D8%AF%D9%85%D8%A9" title="ويكيبيديا:مقدمة">تعرّف أكثر على كيفية البدء في تعديل ويكيبيديا</a>.</li> <li>إذا لاحظت خطأً أو لديك اقتراحًا بسيطًا وغير خلافيٍّ ففضلًا تحقق من <a href="/wiki/%D9%86%D9%82%D8%A7%D8%B4_%D8%A7%D9%84%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="نقاش الوحدة:توثيق">صفحة النقاش</a> أولًا في حال كان الأمر تحت النقاش فعلًا. إذا لم تُناقش القضيّة حتى الآن، يُمكنك تقديم طلب تعديلٍ بضغط الزر أدناه واتباع التعليمات. سيُجري <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D9%85%D8%B3%D8%AA%D9%88%D9%8A%D8%A7%D8%AA_%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA_%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85#محررون" title="ويكيبيديا:مستويات صلاحيات المستخدم">المحرّرون</a> <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A5%D8%AF%D8%A7%D8%B1%D9%8A%D9%88%D9%86" title="ويكيبيديا:إداريون">والإداريون</a> التغيير نيابةً عنك ما دام الطلب مستوفٍ <a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B3%D9%8A%D8%A7%D8%B3%D8%A7%D8%AA_%D9%88%D8%A5%D8%B1%D8%B4%D8%A7%D8%AF%D8%A7%D8%AA" title="ويكيبيديا:سياسات وإرشادات">لشروط وسياسات ويكيبيديا</a>.</li> <li class="pptext-submit"><div> <p><span class="plainlinks clickbutton"><a class="external text" href="https://ar.wikipedia.org/w/index.php?title=%D9%86%D9%82%D8%A7%D8%B4_%D8%A7%D9%84%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82&preload=Template%3ASubmit+an+edit+request%2Fpreload&action=edit&section=new&editintro=Template%3AEdit+protected%2Feditintro&preloadtitle=%D8%B7%D9%84%D8%A8+%D8%AA%D8%B9%D8%AF%D9%8A%D9%84+%D8%B5%D9%81%D8%AD%D8%A9+%D9%85%D8%AD%D9%85%D9%8A%D8%A9+%D9%81%D9%8A+28+%D9%86%D9%88%D9%81%D9%85%D8%A8%D8%B1+2024&preloadparams%5B%5D=edit+fully-protected&preloadparams%5B%5D=%D9%88%D8%AD%D8%AF%D8%A9%3A%D8%AA%D9%88%D8%AB%D9%8A%D9%82"><span class="mw-ui-button mw-ui-progressive">ضع طلب تعديل</span></a></span> </p> </div></li> </ul> </div> </div></td></tr></tbody></table></div><div id="editnotice-area" class="editnotice-area mw-parser-output" style="clear: both; width: 100%;"> <div class="editnotice-namespace" style="width: 100%;"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r68107331"><table class="plainlinks fmbox fmbox-editnotice" role="presentation" style="indefinite"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Attention_yellow.png/25px-Attention_yellow.png" decoding="async" width="25" height="25" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Attention_yellow.png/38px-Attention_yellow.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Attention_yellow.png/50px-Attention_yellow.png 2x" data-file-width="128" data-file-height="128" /></span></span></td><td class="mbox-text">عند إجراء تغييرات على هذه الوحدة يرجى التأكد من تحديث صفحة <a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%B4%D8%B1%D8%AD" title="وحدة:توثيق/شرح">التوثيق</a> الخاصة بها.</td></tr></tbody></table><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r68107331"><table id="module-namespace-editnotice" class="plainlinks fmbox fmbox-editnotice" role="presentation" style="module-namespace-editnotice"><tbody><tr><td class="mbox-image"><figure class="mw-halign-right" typeof="mw:File"><a href="/wiki/%D9%85%D9%84%D9%81:Information.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/2/28/Information.svg/40px-Information.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/28/Information.svg/60px-Information.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/28/Information.svg/80px-Information.svg.png 2x" data-file-width="256" data-file-height="256" /></a><figcaption></figcaption></figure></td><td class="mbox-text"><div style="font-weight: bold;">هذه <a href="https://www.mediawiki.org/wiki/Extension:Scribunto" class="extiw" title="mw:Extension:Scribunto">صفحة وحدة</a></div> الصفحات في هذا النطاق تكتب بلغة البرمجة <a href="/wiki/%D9%84%D9%88%D8%A7_(%D9%84%D8%BA%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D8%A9)" title="لوا (لغة برمجة)">لوا</a>، بحيث تشغل المعلومات البرمجية عادة من <a href="/wiki/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF%D8%A9:%D9%82%D8%A7%D9%84%D8%A8" title="مساعدة:قالب">القوالب</a>، باستخدام بناء الجملة مثل:<br clear="all" /><code>{{#استدعاء<pre></pre>:توثيق|<i>functionName</i>}}</code>. <hr class="fmbox-warning-ruler" style="color: #BB7070; background-color: #BB7070;" /> <div style="float:left; text-align:right; vertical-align:bottom;font-size:smaller;"> <a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D8%AA%D8%A8%D8%B5%D8%B1%D8%A7%D8%AA_%D8%AA%D8%AD%D8%B1%D9%8A%D8%B1/%D9%86%D8%B7%D8%A7%D9%82/%D9%88%D8%AD%D8%AF%D8%A9" title="قالب:تبصرات تحرير/نطاق/وحدة">إخفاء هذه الرسالة</a></div> بعض الروابط المفيدة: <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">الدليل المرجعي للغة Lua "لوا"</a>، <small style="font-style: normal">(إنشاء <a class="external text" href="https://ar.wikipedia.org/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D9%85%D8%AE%D8%AA%D8%A8%D8%B1&action=edit&preload=قالب:توثيق/مسبق/مختبر_وحدة">صفحة مختبر</a>)</small>.</td></tr></tbody></table> </div><div style="clear: both;"></div></div> </div></li><li class="mw-permissionerror-globalblocking-blockedtext-range"><b>Your IP address is in a range that has been <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Global_blocks" class="extiw" title="m:Special:MyLanguage/Global blocks">blocked on all Wikimedia Foundation wikis</a>.</b> <p>المنع أجراه <a href="/wiki/%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85:Jon_Kolbert" title="مستخدم:Jon Kolbert">Jon Kolbert</a> السبب المعطى هو <i><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/NOP" class="extiw" title="m:Special:MyLanguage/NOP">Open proxy/Webhost</a>: See the <a href="https://meta.wikimedia.org/wiki/WM:OP/H" class="extiw" title="m:WM:OP/H">help page</a> if you are affected </i>. </p><p>بداية المنع: 15:12، 27 أغسطس 2023 انتهاء المنع: 15:12، 27 أغسطس 2028 </p><p>عنوان IP الحالي الخاص بك هو 8.222.208.146. النطاق المحظور هو 8.222.128.0/17 . </p><p>يرجى تضمين جميع التفاصيل المذكورة أعلاه في أي استفسارات تقوم بها. إذا كنت تعتقد أنه تم حظرك عن طريق الخطأ، يمكنك العثور على معلومات وإرشادات إضافية في السياسة العامة [[m:Special:MyLanguage/No open proxies ||لا وكلاء مفتوحين|]]. </p> خلاف ذلك، لمناقشة الحجب، يرجى <a href="https://meta.wikimedia.org/wiki/Steward_requests/Global" class="extiw" title="m:Steward requests/Global">نشر طلب للمراجعة على ميتا ويكي</a>. You could also send an email to the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Stewards" class="extiw" title="m:Special:MyLanguage/Stewards">stewards</a> <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/VRT" class="extiw" title="m:Special:MyLanguage/VRT">VRT</a> queue at <kbd>stewards@wikimedia.org</kbd> including all above details.</li></ul><hr /> <p>نص الصفحة: </p><textarea readonly="" accesskey="," id="wpTextbox1" cols="80" rows="25" style="" class="mw-editfont-monospace" lang="en" dir="ltr" name="wpTextbox1">-- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('وحدة:توثيق/ضبط') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return format('[[%s|%s]]', page, display) else return format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return format( '<span class="%s">(%s)</span>', message('toolbar-class'), table.concat(ret, ' &#124; ') ) end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'مختبر' then return frame:expandTemplate{title = 'ملاحظة مختبر الوحدة'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p._getModuleWikitext(args, env)) :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.canonicalUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext') function p._getModuleWikitext(args, env) local currentTitle = mw.title.getCurrentTitle() if currentTitle.contentModel ~= 'Scribunto' then return end pcall(require, currentTitle.prefixedText) -- if it fails, we don't care local moduleWikitext = package.loaded["Module:Module wikitext"] if moduleWikitext then return moduleWikitext.main() end end function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[ملف:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[قالب:Foo]] (diff)." local text = '' local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[قالب:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.contentModel == "Scribunto" then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. omargs.text = text .. makeCategoryLink(message('sandbox-category')) -- 'documentation-clear' return '<div class="' .. message('clear') .. '"></div>' .. require('Module:Message box').main('ombox', omargs) end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. return require('Module:Protection banner')._main{ message('protection-reason-edit'), small = true } elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. return require('Module:Protection banner')._main{ action = 'move', small = true } else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end return { title = title, docTitle = docTitle, -- View, display, edit, and purge links if /doc exists. viewLinkDisplay = message('view-link-display'), editLinkDisplay = message('edit-link-display'), historyLinkDisplay = message('history-link-display'), purgeLinkDisplay = message('purge-link-display'), --#Added 2 lines usageLinkDisplay = message('usage-link-display'), TemplateUsage = message('template-usage'), preload = preload, createLinkDisplay = message('create-link-display') } end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local docTitle = data.docTitle -- #Added block:This block added by Mr.Ibrahim to view [استخدامات] link local ret local title = data.title local usageUrl = "https://templatecount.toolforge.org/index.php?lang=ar&namespace=" .. title.namespace .. "&name=" .. mw.uri.encode( title.text , 'PATH') local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay) local templates_use_module = "//ar.wikipedia.org/w/index.php?title=خاص:بحث&fulltext=Search&ns10=1&ns8=1&search=insource%3A%2F(invoke%7Cاستدعاء)%3A+%2A" .. mw.uri.encode( title.text , 'PATH') .. "%5C%7C%2F" local templates_use_moduleLink = makeUrlLink(templates_use_module , data.TemplateUsage) -- yes, we do intend to purge the template page on which the documentation appears local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) -- #Edited line return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93; &#91;" .. usageLink .. "&#93;" .. (title.namespace == 828 and (" &#91;" .. templates_use_moduleLink .. "&#93;") or '') else local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) -- #Edited line return "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;&#91;" .. usageLink .. "&#93;" .. (title.namespace == 828 and (" &#91;" .. templates_use_moduleLink .. "&#93;") or '') end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[ملف:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content or args["محتوى"] if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[قالب:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[مساعدة:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editDisplay = message('edit-link-display') local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) local historyDisplay = message('history-link-display') local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p </textarea><div id="mw-scribunto-console"></div><div class="templatesUsed"><div class="mw-templatesUsedExplanation"><p><span id="templatesused">21 تضمينا في هذه الصفحة</span> </p></div><ul> <li><a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D8%A7%D8%B3%D8%AA%D8%A8%D8%AF%D9%84" title="قالب:استبدل">قالب:استبدل</a> (<a href="/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D8%A7%D8%B3%D8%AA%D8%A8%D8%AF%D9%84&action=edit" title="قالب:استبدل">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D9%88%D8%A7%D8%B3%D8%B9" title="قالب:استخدام واسع">قالب:استخدام واسع</a> (<a href="/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D9%88%D8%A7%D8%B3%D8%B9&action=edit" title="قالب:استخدام واسع">عرض المصدر</a>) (محمية جزئيا)</li><li><a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D8%B5%D9%86%D8%AF%D9%88%D9%82_%D8%B1%D8%B3%D8%A7%D9%84%D8%A9_%D8%A3%D8%AE%D8%B1%D9%89" title="قالب:صندوق رسالة أخرى">قالب:صندوق رسالة أخرى</a> (<a href="/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D8%B5%D9%86%D8%AF%D9%88%D9%82_%D8%B1%D8%B3%D8%A7%D9%84%D8%A9_%D8%A3%D8%AE%D8%B1%D9%89&action=edit" title="قالب:صندوق رسالة أخرى">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D9%82%D8%A7" class="mw-redirect" title="قالب:قا">قالب:قا</a> (<a href="/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D9%82%D8%A7&action=edit" class="mw-redirect" title="قالب:قا">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%82%D8%A7%D9%84%D8%A8:%D9%88%D8%B5%D9%84%D8%A9_%D9%82%D8%A7%D9%84%D8%A8" title="قالب:وصلة قالب">قالب:وصلة قالب</a> (<a href="/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D9%88%D8%B5%D9%84%D8%A9_%D9%82%D8%A7%D9%84%D8%A8&action=edit" title="قالب:وصلة قالب">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Arguments" title="وحدة:Arguments">وحدة:Arguments</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Arguments&action=edit" title="وحدة:Arguments">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Check_for_unknown_parameters" title="وحدة:Check for unknown parameters">وحدة:Check for unknown parameters</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Check_for_unknown_parameters&action=edit" title="وحدة:Check for unknown parameters">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Effective_protection_expiry" title="وحدة:Effective protection expiry">وحدة:Effective protection expiry</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Effective_protection_expiry&action=edit" title="وحدة:Effective protection expiry">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Effective_protection_level" title="وحدة:Effective protection level">وحدة:Effective protection level</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Effective_protection_level&action=edit" title="وحدة:Effective protection level">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:File_link" title="وحدة:File link">وحدة:File link</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:File_link&action=edit" title="وحدة:File link">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box" title="وحدة:Message box">وحدة:Message box</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Message_box&action=edit" title="وحدة:Message box">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box/configuration" title="وحدة:Message box/configuration">وحدة:Message box/configuration</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Message_box/configuration&action=edit" title="وحدة:Message box/configuration">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box/ombox.css" title="وحدة:Message box/ombox.css">وحدة:Message box/ombox.css</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Message_box/ombox.css&action=edit" title="وحدة:Message box/ombox.css">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Protection_banner" title="وحدة:Protection banner">وحدة:Protection banner</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Protection_banner&action=edit" title="وحدة:Protection banner">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Protection_banner/config" title="وحدة:Protection banner/config">وحدة:Protection banner/config</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Protection_banner/config&action=edit" title="وحدة:Protection banner/config">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:String" title="وحدة:String">وحدة:String</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:String&action=edit" title="وحدة:String">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Yesno" title="وحدة:Yesno">وحدة:Yesno</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Yesno&action=edit" title="وحدة:Yesno">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="وحدة:توثيق">وحدة:توثيق</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=edit" title="وحدة:توثيق">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/styles.css" title="وحدة:توثيق/styles.css">وحدة:توثيق/styles.css</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/styles.css&action=edit" title="وحدة:توثيق/styles.css">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%B4%D8%B1%D8%AD" title="وحدة:توثيق/شرح">وحدة:توثيق/شرح</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%B4%D8%B1%D8%AD&action=edit" title="وحدة:توثيق/شرح">عدل</a>) </li><li><a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%B6%D8%A8%D8%B7" title="وحدة:توثيق/ضبط">وحدة:توثيق/ضبط</a> (<a href="/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%B6%D8%A8%D8%B7&action=edit" title="وحدة:توثيق/ضبط">عرض المصدر</a>) (حماية جزئية - السماح للمحررين)</li></ul></div><p id="mw-returnto">ارجع إلى <a href="/wiki/%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82" title="وحدة:توثيق">وحدة:توثيق</a>.</p> <!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">مجلوبة من «<a dir="ltr" href="https://ar.wikipedia.org/wiki/وحدة:توثيق">https://ar.wikipedia.org/wiki/وحدة:توثيق</a>»</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/ar">سياسة الخصوصية</a></li> <li id="footer-places-about"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%B9%D9%86">حول ويكيبيديا</a></li> <li id="footer-places-disclaimers"><a href="/wiki/%D9%88%D9%8A%D9%83%D9%8A%D8%A8%D9%8A%D8%AF%D9%8A%D8%A7:%D8%A5%D8%AE%D9%84%D8%A7%D8%A1_%D9%85%D8%B3%D8%A4%D9%88%D9%84%D9%8A%D8%A9_%D8%B9%D8%A7%D9%85">إخلاء مسؤولية</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">القواعد السلوكية</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">المطورون</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/ar.wikipedia.org">إحصائيات</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">بيان تعريف الارتباطات</a></li> <li id="footer-places-mobileview"><a href="//ar.m.wikipedia.org/w/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:%D8%AA%D9%88%D8%AB%D9%8A%D9%82&action=edit&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">نسخة للأجهزة المحمولة</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"mediawiki.ui.button\".\n[1.41] Please use Codex. See migration guidelines: https://www.mediawiki.org/wiki/Codex/Migrating_from_MediaWiki_UI");mw.config.set({"wgHostname":"mw-web.codfw.main-76c6b8f495-m4rls","wgBackendResponseTime":502,"wgPageParseReport":{"limitreport":{"cputime":"0.157","walltime":"0.282","ppvisitednodes":{"value":1481,"limit":1000000},"postexpandincludesize":{"value":104593,"limit":2097152},"templateargumentsize":{"value":11647,"limit":2097152},"expansiondepth":{"value":25,"limit":100},"expensivefunctioncount":{"value":10,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":6878,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 254.171 1 -total"," 67.91% 172.602 5 قالب:صندوق_رسالة_تبصرة"," 66.83% 169.866 1 قالب:نص_صفحة_محمية/محرر"," 65.24% 165.820 1 قالب:نص_صفحة_محمية"," 33.12% 84.186 1 قالب:Editnotice_load"," 31.21% 79.339 2 قالب:حمل_تبصرة_تحرير/محتوى"," 27.66% 70.313 1 قالب:Submit_an_edit_request"," 26.48% 67.310 4 قالب:تبصرات_تحرير/نطاق/وحدة"," 17.14% 43.570 4 قالب:تبصرة_تحرير"," 12.40% 31.506 1 قالب:صندوق_رسالة_نطاق"]},"scribunto":{"limitreport-timeusage":{"value":"0.068","limit":"10.000"},"limitreport-memusage":{"value":1607692,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-76c6b8f495-m4rls","timestamp":"20241128144423","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>