Help:Templates/hi

अगर आपके पास कोई मानक टेक्स्ट है जो आप कई विकियों पर जोड़ना चाहते हैं, मीडियाविकि द्वारा साँचे की सुविधा काम आती है। एक्सटेंशन्स और मीडिया फ़ाइलों के विपरीत, साँचों के लिए कोई केंद्रीय रिपॉज़िटरी नहीं है। नए साँचें लिखे जा सकते हैं, या फिर किए गए कार्यों की प्रतिलिपि बनाकर, या विकिपीडिया जैसे दूसरे विकियों से आयात करके सहेजे जा सकते हैं।

निर्माण
साँचें मानक विकि पृष्ठ होते हैं जिनके सामग्री को दूसरे पृष्ठों पर ट्रांसक्लूड (एम्बेड) करने के लिए लिखा जाता है। साँचें एक मान का पालन करते हैं जिसके अनुसार उनपर " " उपसर्ग लगाया जाता है और इससे उन्हें उस नामस्थान में जोड़ दिया जाता है; इसके अलावा, आप साधारण विकि पृष्ठों की तरह ही साँचें बना सकते हैं।

साँचे का सबसे सरल प्रयोग कुछ इस प्रकार है। अगर आप "Template:Welcome" नामक एक पृष्ठ बनाते हैं जिसकी सामग्री है:

नमस्ते! आपका विकि पर स्वागत है।

आपने अपना पहला साँचा बना लिया है! अगर आप यह कोड कहीं डालते हैं:

जब वह पृष्ठ खोला जाता है,  की जगह टेक्स्ट "नमस्ते! आपका विकि पर स्वागत है।" दिखेगा। साँचे को दूसरे पृष्ठ पर "ट्रांसक्लूड" कर दिया गया है, यानी उसे उस पृष्ठ पर एकीकृत कर दिया गया है।

उसके बाद आप पृष्ठ पर किसी भी जगह पर  जोड़कर सदस्य का स्वागत कर सकते हैं। मान लीजिए 100 पृष्ठों पर इसका इस्तेमाल किया जाता है। अगर आप साँचे की सामग्री को इससे बदल दें:

नमस्कार! इस निराले विकि पर आपका स्वागत है।

और उन 100 में से किसी भी पृष्ठ पर जाएँ जहाँ साँचे का प्रयोग किया गया है, आप मूल टेक्स्ट की जगह नया टेक्स्ट देखेंगे। इस तरह से आपने 100 पृष्ठों को संपादित किए बिना उनकी सामग्री को बदल दिया है, क्योंकि साँचे को उन पृष्ठों पर ट्रांसक्लूड किया जा रहा है।

यह बुनियादी क्रियाविधि है। ट्रांसक्लूशन की प्रक्रिया में कई चरण हैं जो इस क्रियाविधि और साथ में साँचों को काफ़ी उपयोगी बनाते हैं।

प्रयोग
साँचों को इन तरीकों से दूसरे पृष्ठों पर जोड़ा जा सकता है:


 * — जैसा ऊपर दर्शाया गया है, इस कड़ी को Template:Name के तब की वर्तमान सामग्री से बदल दिया जाएगा जब पृष्ठ को लोड किया गया हो। पृष्ठ के स्रोत में कड़ी नहीं बदलेगी।
 * - जब इस साँचे की कड़ी को जोड़ा जाता है, इसे हमेशा के लिए Template:Name के तब की वर्तमान सामग्री से बदल दिया जाएगा जब कड़ी को सहेजा गया हो। पृष्ठ के स्रोत में कड़ी नहीं बदलेगी: साँचे की कड़ी की जगह Template:Name की सामग्री को सब्सटिट्यूट कर दिया जाएगा। सामग्री अब उस पृष्ठ का हिस्सा बन जाएगी, और अब इसे मूल पृष्ठ से अलग, सम्पादित किया जा सकेगा। ध्यान दें: स्रोत साँचे पर बाद में बदलाव उस पृष्ठ पर नहीं दिखेंगे जिसपर साँचे की कड़ी जोड़ी गई थी।
 * - इससे ट्रांसक्लूशन को तोड़े बिना सब्सटिट्यूशन का इस्तेमाल किया जा सकता है। w:Help:Substitution देखें।
 * साँचे को एक ऐसे रूप में जोड़ देता है जिससे सामग्री वाले पृष्ठ को प्राप्त करने पर वह रॉ विकि सिनटैक्स के रूप में दिखाई पड़ता है (जैसा दिखता है)।

यहाँ तक कि, एक साधारण विकि पृष्ठ का भी साँचे की तरह इस्तेमाल किया जा सकता है। ऐसा करने के लिए बस इसका नामस्थान जोड़ दें, यानी:


 * जोड़ेगा
 * जोड़ेगा
 * जोड़ेगा
 * अपने आप को  की सामग्री से बदल देगा

अगर ऐसा कोई नामस्थान नहीं है, पूरे शीर्षक को ही साँचा मान लिया जाता है:


 * जोड़ेगा

पैरामीटर्स
ट्रांसक्लूशन की कार्यक्षमता को बढ़ाने के लिए मीडियाविकि पर साँचों को ट्रांसक्लूड करते समय पैरामीटर्स जोड़ने की सुविधा उपलब्ध है। पैरामीटर्स की मदद से साँचों पर अलग-अलग सामग्री या फिर बदलता स्वभाव जोड़ा जा सकता है।

मान लीजिए आप दूसरे सदस्यों के वार्ता पृष्ठों पर धन्यवाद वाला एक संदेश छोड़ना चाहते हैं, जैसे:

धन्यवाद के इस संदेश पर एक कारण होगा (इस मामले में "अपने सभी कार्यों") और एक हस्ताक्षर होगा ("मैं")। आपका लक्ष्य है कि किसी भी सदस्य के लिए किसी भी सदस्य को, किसी भी कारण से धन्यवाद देना संभव होना चाहिए।

ताकि संदेश हर जगह समान दिखे, आप नामक एक साँचा बना सकते हैं। हालाँकि संदेश हर जगह समान दिखना चाहिए, इसकी सामग्री (जैसे कारण और हस्ताक्षर) अलग होगी। इसके लिए आपको इन्हें पैरामीटर्स के तौर पर पास करवाना होगा। अगर हम बॉक्स को प्रारूपित करने और चित्र को जोड़ने वाले तत्वों को निकाल दें, बुनियादी साँचा कुछ ऐसा दिखेगा:

और  के प्रयोग पर गौर करें। इससे साँचे का इस्तेमाल करते समय इसके अंदर पैरामीटर्स को पहचाना जा सकता है। ध्यान रखें कि साँच के अंदर हर पैरामीटर को तीन धनुकोष्ठकों से घेरा जाता है:  । हर साँचे के साधारण प्रयोग से अलग है।

किसी पृष्ठ पर साँचे का इस्तेमाल करते समय आप पैरामीटर्स में एक "पाइप" अक्षर से अलग करते हुए वैल्यू जोड़ेंगे। मीडियाविकि पर पैरामीटर्स तीन तरीकों से पास करवाए जा सकते हैं: गुमनाम, क्रमित, और नामित।



गुमनाम पैरामीटर्स
गुमनाम पैरामीटर्स में पास करवाने के लिए, उन पैरामीटर्स के वैल्यू क्रमशः पास करवाएँ:

इस मामले में  साँचा पैरामीटर्स   और   प्राप्त करता है, और अंजाम होता है:

जिस क्रम से गुमनाम पैरामीटर्स पास करवाए जाते हैं, वह साँचे के स्वभाव पर बड़ा प्रभाव डालता है। पैरामीटर्स के क्रम को पलट देने पर, यानी:

का अंजाम होगा:



क्रमित पैरामीटर्स
संख्या के आधार पर पैरामीटर्स पास करवाने के लिए पास करवाते समय हर पैरामीटर को पहचानें:

इस बार साँचा  पैरामीटर्स   और   प्राप्त करता है, हालाँकि इन्हें उलटा पास करवाया गया है, और इसका अंजाम होता है:


 * उदाहरण:

का अंजाम होगा:



नामित पैरामीटर्स
पैरामीटर्स पास करवाने का तीसरा तरीका है संख्याओं की जगह नामों का इस्तेमाल करके। इस मामले में साँचे की सामग्री को इसमें बदल दिया जाएगा:

आपका शुक्रिया... के लिए। सधन्यवाद,

साँचे के अंदर हम हर पैरामीटर को पहचानने के लिए संख्याओं की जगह  और   का इस्तेमाल करेंगे। नामों के साथ ये पैरामीटर्स पास करवाने के लिए, पास करते समय हर पैरामीटर को पहचानें:

इस मामले में साँचा  पैरामीटर्स   and   प्राप्त करता है, और इसका अंजाम होता है:

नामित पैरामीटर्स केस-संवेदनशील है, तो:

का अंजाम होगा:

पैरामीटर्स के क्रम से असंवेदनशील होने के साथ-साथ, अपने साँचे में नामित पैरामीटर्स का इस्तेमाल करने का एक फ़ायदा यह है कि कई पैरामीटर्स होने पर साँचे के कोड को समझना काफ़ी आसान हो जाता है।



डिफ़ॉल्ट वैल्यू
अगर आप कोई ऐसा साँचा ट्रांसक्लूड करते हैं जिसे पैरामीटर्स की अपेेक्षी होती है, मगर आप उन्हें तर्क प्रदान नहीं करते, कुछ इस तरह:

उपरोक्त क्रमित पैरामीटर्स में आपको कुछ ऐसा अंजाम मिलेगा:

Since no arguments were passed in, the template presents the parameters themselves, instead of their respective values. In these cases, it may be useful to define default values for the parameters, i.e. values that will be used if no value is passed in. For example, if the template contents are changed to:

then  defines that if no argument is provided for parameter , then the value   will be used. Similarly,, defaults parameter   to value. Now, transcluding the template again without passing any argument results in the following:

अक्सर, डिफ़ॉल्ट वैल्यूओं की मदद से पैरामीटर्स के लिए वैकल्पिक नाम परिभाषित किए जाते हैं। उदाहरणस्वरूप, अगर आपने  जोड़ा है, साँचा पहले "a" नामक पैरामीटर की तलाश करेगा। अगर यह सेट नहीं किया जाता है, यह "b" नामक पैरामीटर का इस्तेमाल करेगा। अगर "a" या "b" में से कोई भी पैरामीटर सेट नहीं किया जाता है, आउटपुट में कुछ भी नहीं दिखेगा।

मूल्यांकन
आम तौर पर बात करें तो साँचे के पैरामीटरों को टोकन बनाने के बाद सब्सटिट्यूट किया जाता है, मगर बिलकुल वैसे ही जैसे वे लिखे गए हैं। इनके प्रयोग करने तक इन्हें मूल्यांकित नहीं किया जाता है।

इसके कुछ अंजाम हैं। First of all, if you have a  containing , and a   containing  , and put   on a page, mytemplate isn't transcluded, because tokens like "|" cannot be added by a template and keep their special meaning in templates. आप किसी पैरामीटर या साँचे के नाम को नियंत्रित करने के लिए साँचों का इस्तेमाल कर सकते हैं, मगर आप एक साँचे के कॉल को कई साँचों में नहीं बाँट सकते।

इसका दूसरा अंजाम है मृत-कोड का हटाया जाना। If you make a template call like, and Template:Foo does not contain  , then the displaytitle is not used, since it is only evaluated when needed, and it there is no parameter to substitute it into, so it is never evaluated. This usually comes into play when using Extension:ParserFunctions, and can be especially noticed when used in combination with the  magic word that varies by user language.

Template calls starting with the magic word  or   are evaluated in a separate first pass that only happens at save time, along with ~ and links using the pipe trick. If they cannot be evaluated during the first pass, subst: calls are ignored, and safesubst: are treated as if a normal template.

Many but not all parser functions, parser tags and trancluded special pages are not directly included like templates but instead are replaced by a "strip marker". This means you cannot manipulate the results with parser functions like padleft: or similar functions from extensions, as they see the strip marker instead of the result of the parser function.



साँचों में प्रत्यावर्तन
किसी साँचे को अपने ही पृष्ठ पर जोड़ लेने पर मीडियाविकि हमेशा के लिए प्रत्यावर्तन नहीं करता रहेगा। मीडियाविकि साँचे के नाम को बोल्ड में लिखकर प्रत्यावर्तन को रोक देगा। उदाहरणस्वरूप, अगर Template:Aaaa का सामग्री है, यह दिखाएगी "a a Template loop detected:  Template:Aaaa z z"।

Forbidden idiom
This safeguard precludes a potentially useful template idiom where a template self-normalizes its own calling arguments. In this forbidden example  can either be called   or. If called in the first manner, it recurses into itself with the second argument structure (obtained using string parser functions), which then follows a unified processing path.



If  is modified to recurse into   and   is an identical manual copy of   this idiom works fine as the self-recursion safeguard operates dynamically and not statically.

A feasible way for the MediaWiki software to loosen the self-recursion rule would be to require that each recursive call have a distinct argument count from all previous active calls, at most once recursing with the argument count non-decreasing. That would provide a strong guarantee against infinite self-recursion while enabling useful idioms such as the one described here in a flexible manner.

If the processing path is of low complexity, a simple solution using only one template is to handle each calling convention on a separate if/else branch, duplicating the logic of the processing path within each case. If the processing path is more complex, each call-structure case can delegate to an implementation template with a unified call structure which provides the final template behaviour.

Tables in parameters
Since the syntax for wikitables involves pipes in single braces ({ }) and using the pipe trick will not work in transclusion parameters, one will have to create a table as a separate page and transclude it from there.



साँचों के जुड़ाव को नियंत्रित करें
By default, a template's content is displayed in its entirety, both when viewed directly and when included in another page. However, you can control which parts of a template will be seen and included by the use of the, and  tags.

Anything between and  will be seen only when the template's page is being viewed directly, but not when it is included in another page. This is useful when you want to include text or code in a template that you do not want to propagate to any pages which include it, such as:


 * सिर्फ साँचे को श्रेणीबद्ध करने के लिए श्रेणी कड़ियाँ
 * दूसरी भाषाओं में मेल खाते साँचों के लिए अंतरभाषा कड़ियाँ
 * साँचे के प्रयोग के बारे में वर्णन का टेक्स्ट

Likewise, anything between and  will be processed and displayed only when the page is being included, but not when the template page is being viewed directly, and is useful in situations such as:


 * Categorizing pages which include the template. Note: when changing the categories applied by a template in this fashion, the categorization of the pages which include that template may not be updated until some time later: this is handled by the . To force the re-categorization of a particular page, open that page for editing and save it without changes.
 * Ensuring that the template's code is not executed when viewing the template page itself. Typically this is because it expects parameters, and its execution without parameters has an undesired result.

Everything outside and  is processed and displayed normally; that is, both when the template page is being viewed directly and when the template is included in another page. The focus is on what is inside these two tags.

Everything outside tags is discarded in the transclusion. Even sections tagged includeonly are discarded in the transclusion unless they are also tagged as onlyinclude. The focus is on what is outside this tag.

Nesting of these tags is also possible.

The three partial transclusion tags enable all possible combinations of what is processed and rendered. टिप्पणी की भी एक भूमिका है।



साँचों को संगठित करना
साँचों के काम करने के लिए सदस्यों को साँचें ढूँढ़ने होंगे और उनका इस्तेमाल करना सीखना होगा।

उन्हें ढूँढ़ने के लिए सदस्य:
 * 1) ' > ' पर क्लिक कर सकते हैं
 * 2) ' सूची में Template चुनकर ' पर क्लिक कर सकते हैं।

प्रयोग की जानकारी देने के लिए साँचे के पृष्ठ पर इस तरह का एक उदाहरण जोड़ें:

प्रयोग
सदस्यों का स्वागत करें:

फिर, सम्पादक साँचे का इस्तेमाल करने के लिए उदाहरण की प्रतिलिपि बनाकर चिपका सकता है।



साँचे की कड़ी जोड़ना
हर विकि पृष्ठ की तरह साँचों की भी कड़ियाँ जोड़ी जा सकती हैं। उदाहरणस्वरूप, विकिकोड  की मदद से Template:Navbar कड़ी बनाई जा सकती है।

कई विकियों पर Template:Tl को इस तरह से प्रारूपित करके कड़ी के साथ ट्रांसक्लूड किए बिना दिखाया जा सकता है कि उसके दोनों तरफ़ ट्रांसक्लूड करने के लिए आवश्यक "दो धनुकोष्ठक" हों। उदाहरणस्वरूप, कोड  से Navbar कड़ी बनाई जा सकती है।

इस रचना का इस्तेमाल आम तौर पर प्रलेख पृष्ठों, सहायता पृष्ठों और वार्ता पृष्ठों पर साँचों को सन्दर्भित करने के लिए किया जाता है। इस तरह का प्रारूपण  की मदद से भी प्राप्त किया जा सकता है, मगर tl के इस्तेमाल से लिखने की ज़रूरत कम होती है। मगर हर विकि पर अगर Tl साँचा, अगर वह वहाँ मौजूद हो, यह सुनिश्चित नहीं करता है कि टेक्स्ट को एक "कोड" तत्व या फिर मोनोस्पेस फ़ॉण्ट में ही रेंडर किया जाएगा। अगर ऐसा नहीं होता (जैसा कि इस विकि पर), शायद कोई दूसरा समान साँचा ऐसा कर दे। उदाहरणस्वरूप, हमारे Template:Tl के प्रलेख का "See also" अनुभाग देखें।



एक विकि से दूसरे विकि पर प्रतिलिपि बनाना
साँचों पर अक्सर CSS या दूसरे साँचों की ज़रूरत होती है, तो एक विकि से दूसरे विकि पर किसी साँचे की प्रतिलिपि बनाते समय सदस्यों को अक्सर परेशानी होती है। नीचे के चरण ज़्यादातर साँचों के लिए काम करते हैं।



मीडियाविकि कोड
अगर आपके पास नए विकि पर आयात करने के (खासकर कि importupload) अधिकार हैं:


 * 1) मूल विकि पर Special:Export पर जाएँ, और सभी आवश्यक साँचों के पूरे इतिहास के साथ एक .xml फ़ाइल डाउनलोड करें, जैसा नीचे दर्शाया गया है:
 * 2) * बड़े टेक्स्ट बॉक्स में साँचे का नाम दर्ज करें, जैसे "Template:Welcome"। बड़े अक्षरों और विशेष अक्षरों पर ध्यान दें - अगर साँचे का नाम सही नहीं हुआ, निर्यात तो हो जाएगा मगर शायद .xml फ़ाइल में सही डेटा न हो।
 * 3) * "" बॉक्स चुनें।
 * 4) * "" बॉक्स चुनें।
 * 5) * "" पर क्लिक करें।
 * 6) नए विकि पर Special:Import पर जाएँ और .xml फ़ाइल अपलोड करें।

अगर आपके पास नए विकि पर आयात करने के अधिकार नहीं हैं:


 * 1) मूल विकि पर उस साँचे पर जाएँ जिसकी प्रतिलिपि आप बनाना चाहते हैं। सम्पादन पृष्ठ पर जाएँ और पूरे विकिटेक्स्ट की प्रतिलिपि बनाएँ।
 * 2) नए विकि पर उसी नाम के पृष्ठ पर जाएँ जिस नाम के साँचे से आपने मूल विकिटेक्स्ट की प्रतिलिपि बनाई थी। बनाएँ/सम्पादन पर क्लिक करें और प्रतिलिपि बनाए हुए विकिटेक्स्ट को चिपकाएँ। हर साँचे के सारांश में श्रेय देने के लिए मूल पृष्ठ की एक कड़ी जोड़ें।
 * 3) फिर मूल विकि पर सम्पादन विंडो में सम्पादन बॉक्स के नीचे "इस पृष्ठ पर प्रयुक्त साँचें" वाली सूची को देखें। वहाँ सूचीबद्ध हर साँचे के लिए ऊपर की विधि दुहराएँ। इन साँचों द्वारा भी प्रयुक्त साँचों के लिए ऐसा ही करें।

यह पूरे कोड की प्रतिलिपि बना देगा, और कुछ साँचों के लिए इतना काफ़ी होगा। ध्यान रखें कि सिर्फ पृष्ठ को रेंडर करते समय पार्स किए गए तत्वों को ही निर्यात किया जाता है, तो इस प्रक्रिया में प्रलेख पृष्ठों को निर्यात नहीं किया जाएगा। अगर यह काम नहीं करता, सम्पादन बॉक्स के नीचे "इस पृष्ठ के वर्तमान संस्करण पर ट्रांसक्लूड किए जाने वाले पृष्ठ:" अनुभाग में लाल कड़ियाँ ढूँढ़ें। अगर कोई लाल कड़ी होती है, ऊपर के चरण इन पृष्ठों के लिए भी दुहराएँ और मॉड्यूल्स के टेक्स्ट की भी प्रतिलिपि बनाएँ।

साँचे और इससे जुड़े हुए पृष्ठों को दूसरे विकि से सफलतापूर्वक आयात कर लेने के बाद साँचे को अनुकूलित करके अपने विकि के थीम में बसाएँ। उदाहरणस्वरूप, शायद आपको कोई लोगो बदलना पड़े, गलत कड़ियाँ या लाल कड़ियाँ हटानी पड़ें।

एक्सटेंशन्स
साँचों में अक्सर प्रयुक्त एक एक्सटेंशन है ParserFunctions। पृष्ठ पर जाकर देखें कि वहाँ पर सूचीबद्ध कोई फ़ंक्शन उस साँचे में प्रयुक्त हैं या फिर नहीं। अगर ऐसा है, आपको एक्सटेंशन स्थापित करना होगा। इसे स्थापित करने के लिए आपको अपने मीडिया स्थापना के सर्वर पर प्रबंधक वाली पहुँच होनी पड़ेगी।

साँचों में प्रयुक्त एक और निर्भरता, खासकर कि विकिपीडिया को साँचों पर, है लुआ। साँचे के कोड में   का होना इसका एक अच्छा चिह्न है। अगर इसका इस्तेमाल किया जाता है, आपको एक्सटेंशन स्थापित करना होगा और सिस्टम प्रबंधक समूह की भी ज़रूरत होगी। एक्सटेंशन को स्थापित करने के बारे में अधिक विधि के लिए वह पृष्ठ देखें।



CSS और जावास्क्रिप्ट कोड
मीडियाविकि कोड के अलावा कई साँचें पूरी तरह से काम करने के लिए CSS का इस्तेमाल करते हैं और कुछ साँचें जावास्क्रिप्ट का। अगर प्रतिलिपि बनाए गए साँचें ठीक से काम नहीं कर रहे हैं, यह कारण हो सकता है। आवश्यक CSS और जावास्क्रिप्ट की प्रतिलिपि अपने विकि पर पाने के लिए बेशक आपको प्रबंधक के अनुमतियों की ज़रूरत होगी, क्योंकि आपको "मीडियाविकि:" नामस्थान में संदेशों को संपादित करना होगा।


 * 1) साँचे के टेक्स्ट CSS क्लास (  जैसा टेक्स्ट) ढूँढ़ें। अगर वे क्लास "MediaWiki:Common.css" में नज़र आते हैं, उन क्लासों की प्रतिलिपि नए विकि पर "MediaWiki:Common.css" पर बनाएँ और जाँचें कि साँचा ठीक से काम कर रहा है या नहीं।
 * 2) अगर प्रतिलिपि साँचा अब भी ठीक से काम नहीं करता, जाँचें कि मूल विकि के "MediaWiki:Common.js" या "MediaWiki:Monobook.js" पर कोई कोड है या नहीं। अगर ऐसा है, नए विकि के "MediaWiki:Common.js" पर इसकी प्रतिलिपि बनाएँ। आम तौर पर सिर्फ विश्वसनीय स्रोतों से ही प्रतिलिपि बनाना चाहिए, और उचित हिस्सों को पहचान लेने का कौशल काम आता है। आपको शायद टिप्पणियाँ मिल जाए, जो हर हिस्से का महत्व बताए।



ये भी देखें

 * w:Help:Table - प्रयोग की सबसे सरल विधि।
 * – साँचों के विशेष प्रयोग का एक उदाहरण
 * – चमकदार चीज़ें जो कभी-कभी साँचों पर मिल जाएँगी
 * – अतिरिक्त चमकदार नियंत्रण फ़ंक्शन्स जैसे #if और #switch
 * – साँचों में पार्सर फ़ंक्शन्स का इस्तेमाल करने के बारे में गाइड
 * m:Help:Template – साँचों की कार्यक्षमता के बारे में विस्तृत मैन्युअल
 * m:Help:Advanced templates – डायनामिक साँचा कॉल्स और पैरामीटरों के वेरिएबल नामों जैसी उन्नत सुविधाओं का वर्णन करता है
 * m:Help:Embed page –  के अलावा दूसरे नामस्थानों से पृष्ठों को एम्बेड करना।
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page
 * – Using templates as the starting text of a page



बाहरी कड़ियाँ

 * Miraheze का साँचा रिपॉज़िटरी - साधारण प्रयोग के लिए मीडियाविकि साँचें