Extension:Labeled Section Transclusion/hi

Labeled Section Transclusion (चिह्नित अनुभाग ट्रांसक्लूशन) एक्सटेंशन की मदद से आप विकिटेक्स्ट को साधारण रूप से पार्स करते हुए टेक्स्ट के चिह्नित अनुभागों को ट्रांसक्लूड कर सकते हैं। इसकी कार्यक्षमता टैग के एक बेहतर संस्करण की तरह है, जो अनुभागों को ट्रांसक्लूशन के लिए चुनता है। यह सभी विकिमीडिया विकियों पर सक्षम है।

जहाँ साधारण ट्रांसक्लूशन से सिर्फ छोटे साँचों के बड़े हिस्सों को ट्रांसक्लूड किया जाता है, चिह्नित अनुभाग ट्रांसक्लूशन से आप बड़े पृष्ठों के छोटे हिस्से ट्रांसक्लूड कर सकते हैं।

मगर कुछ अंतर हैं। स्थानीय साँचा ट्रांसक्लूशन में अनुभागों को स्वभाव के अनुसार चिह्नित किया जाता है; तो आप सिर्फ एक (हो सके तो स्वतंत्र) अनुभाग को जोड़ या छोड़ सकते हैं।

यहाँ पर अनुभागों को नामों के अनुसार चिह्नित किया जाता है, और स्वभाव कॉलर द्वारा तय किया जाता है, जिसमें आवश्यकतानुसार अनुभाग जोड़े या छोड़े जा सकते हैं। अलग-अलग पृष्ठों पर चुनिंदा अनुभाग जोड़े या छोड़े जा सकते हैं; यानी अनुभागों की संख्या मनचाही हो सकती है, और अनुभाग ओवरलैप भी कर सकते हैं।

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

स्थापना
कई विकिस्रोतों पर एक गैजेट भी है जिससे सरलीकृत  सिनटैक्स की मदद से अनुभागों को परिभाषित किया जा सकता है। इसका कोड Wikisource:MediaWiki:Gadget-Easy_LST.js पर पाया जा सकता है।

Transclude any marked part


चरण 1: अनुभाग चिह्नित करें
इस तरह से टैग्स की मदद से टेक्स्ट में अनुभाग चिह्नित करें:

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



चरण 2-क: अनुभाग को ट्रांसक्लूड करें
अनुभाग को ट्रांसक्लूड करने के लिए पार्सर फ़ंक्शन #lst को कॉल करें; उदाहरणस्वरूप, articleX नामक पृष्ठ से chapter1 नामक अनुभाग को ट्रांसक्लूड करने के लिए:

लक्ष्य लेख में अनुभाग का स्थान परिभाषित किया गया हो; इसका स्वभाव पार्सर फ़ंक्शन द्वारा तय किया जाता है।



चरण 2-ख: अनुभाग के सिवाय पृष्ठ को ट्रांसक्लूड करें
किसी विशिष्ट अनुभाग को छोड़ते हुए किसी पृष्ठ को ट्रांसक्लूड करने के लिए #lstx फ़ंक्शन का इस्तेमाल करें:

वैकल्पिक रूप से, आप छोड़े गए अनुभाग के लिए बदला हुआ टेक्स्ट लिख सकते हैं।

उदाहरण:

बदला हुआ टेक्स्ट उस स्थान पर दिखेगा जहाँ छोड़ा हुआ अनुभाग मौजूद होता।



जुड़े न हुए अनुभाग
एक ही नाम से कई अनुभाग जोड़ना संभव है; इस मामले में उस नाम वाले सभी अनुभागों को जोड़ा/छोड़ा किया जाएगा। यह अलग-अलग चर्चाओं को चिह्नित करने में काम आता है।



अनुभाग रेंज
इन फ़ंक्शन्स पर एक अतिरिक्त, वैकल्पिक तर्क है जिससे अनुभागों के एक रेंज को निर्दिष्ट किया जा सकता है; जैसे अध्याय 1 की शुरुआत से अध्याय 3 के अंत तक सब कुछ जोड़ने के लिए । इससे चिह्न की जोड़ियों की मदद से अनुभागों के एक अंत को चिह्नित किया जा सकता है, आम तौर पर साँचे में। ऐसे तंत्र का इस्तेमाल फ़्रांसीसी विकिस्रोत पर किया जाता है।

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

टेक्स्ट के साधारण हैडिंग्स की मदद से चिह्नित किए गए अनुभागों को ट्रांसक्लूड करने के लिए वैकल्पिक समर्थन मौजूद है, यानी । अगर इसे स्थापित किया गया हो, इसका इस्तेमाल 'lsth' फ़ंक्शन की मदद से किया जाता है।



परिचय को ट्रांसक्लूड करें
पृष्ठ के परिचय (यानी पहले हैडिंग के पहले की सामग्री) को ट्रांसक्लूड करने के लिए, इसका इस्तेमाल करें:



किसी विशिष्ट अनुभाग को ट्रांसक्लूड करें
आप sectionX (जिसमें इसके अप-अनुभाग शामिल हैं मगर sectionX की अपनी सामग्री नहीं) की पूरी सामग्री को भी ट्रांसक्लूड कर सकते हैं।

ध्यान देने योग्य बातें:


 * 1) अगर आप एक से अधिक समान नामों वाले अनुभाग जोड़ते हैं, sectionX की सिर्फ पहली उपस्थिति को ट्रांसक्लूड किया जाएगा।
 * 2) सुनिश्चित करें कि sectionX का हैडिंग वैसा है जैसा यह विकिटेक्स्ट में है, न कि जैसा इसे दिखाया गया है। उदाहरणस्वरूप, अगर अनुभाग का हैडिंग   है, आपको " " लिखना होगा, न कि " "।
 * 3) अनुवाद एक्सटेंशन की मदद से अनुवाद के लिए चिह्नित किए गए किसी पृष्ठ से अनुभाग को ट्रांसक्लूड करते समय भाषा-विशिष्ट संस्करणों को ही ट्रांसक्लूड करें। उदाहरणस्वरूप, 'pagename' की जगह 'pagename/en' से।
 * 4) मिलान केस-असंवेदनशील है, ताकि केस में बदलाव के कारण कड़ियाँ टूट न जाए।



कई अनुभाग ट्रांसक्लूड करें
आप sectionY पहुँचने तक sectionX की पहली उपस्थिति (sectionX के हैडिंग को छोड़ते हुए) से ट्रांसक्लूड कर सकते हैं। ध्यान रखें कि sectionY अंत को चिह्नित करता है, तो ट्रांसक्लूशन में sectionY की कोई सामग्री नहीं होगी।



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

जब इस एक्सटेंशन का इस्तेमाल (मीडियाविकि 1.39 या अधिक के साथ) किया जाता है, #lst और #lsth फ़ंक्शन्स "छोड़े" गए शुरुआती हिस्से में हैडिंग्स की संख्या को गिनता है, और उचित संख्या में ट्रांसक्लूड किए गए हैडिंग्स को ऑफ़सेट करता है। इससे साधारण स्थितियों में कड़ियाँ सही स्थान की ओर इशारा करते हैं।

ध्यान रखें कि #lstx छोड़े गए हैडिंग्स नहीं गिनता है, और जुड़े न हुए अनुभागों में छोड़े गए हैडिंग्स को ऑफ़सेट नहीं किया जाता है। मगर ऐसा लगता है कि इसे अब ठीक कर दिया गया है (हो सकता है जब इसे मीडियाविकि के नए प्रीप्रोसेसर पर पोर्ट किया गया हो)। ट्रांसक्लूड किए गए हैडिंग्स अब सही स्थानों की ओर इशारा करते हैं।.

स्थानीयकरण
आंतरिक रूप से सभी पार्सर फ़ंक्शन्स एक्सटेंशन के नाम के साथ संगत रहने के लिए lst उपसर्ग का इस्तेमाल करते हैं। क्योंकि यह परिवर्णी शब्द विकासकों के लिए भ्रामक हो सकता है, पठनीय अंग्रेज़ी संस्करण मौजूद हैं, तो फ़ंक्शन्स को किसी भी नाम से बुलाया जा सकता है।

अतिरिक्त रूप से, टैग को अब स्थानीयकृत किया जा सकता है; वर्तमान में:, , , ; यानी:


 * (RTL):  (दाएँ तरफ "शुरुआत" का कोड, बाएँ तरफ "अंत" का कोड)
 * (RTL):  (दाएँ तरफ "शुरुआत" का कोड, बाएँ तरफ "अंत" का कोड)
 * (RTL):  (दाएँ तरफ "शुरुआत" का कोड, बाएँ तरफ "अंत" का कोड)

हर स्थानीयकरण सिर्फ तभी सक्षम होगी अगर पृष्ठ सामग्री की भाषा से मेल खाती हो।

सीमाएँ

 * only works on the first section if multiple sections have name sectionX. Only the first occurrence of sectionX is transcluded if an article has more than one section with the same name.
 * While it is possible to use this extension across namespaces, interwiki references are not resolved. It is not yet possible, for example, to include part of a Wikisource page into a remote MediaWiki installation.
 * अनुभाग टैग्स को दूसरे पृष्ठों पर काम करने के लिए ट्रांसक्लूड नहीं किया जा सकता।  and   सिर्फ तभी काम करते हैं जब अनुभाग टैग्स सीधे ट्रांसक्लूड किए गए पृष्ठ के विकिटेक्स्ट में आए। इसका मतलब है कि इन टैग्स को साँचा पैरामीटरों और पार्सर फ़ंक्शन्स की मदद से साँचे में एम्बेड नहीं किया जा सकता।   जादुई शब्द अनुभाग टैग्स के साथ काम नहीं करता।
 * 2014 तक अनुभाग टैग्स साँचों के पैरामीटरों के अंदर जोड़े जाने पर कोई प्रभाव नहीं डालते। अगर पृष्ठ 'क' में टेक्स्ट है,  किसी भी तरह से 'अ' तक नहीं पहुँच पाएगा।

उदाहरण

 * wikisource:user:sanbeg/Includer कई बुनियादी सुविधाओं के नमूने दिखाता है।



ये भी देखें

 * DynamicPageList (तृतीय-पक्ष) में चिह्नित अनुभाग ट्रांसक्लूशन का एक थोड़ा-सा बदला हुआ बिल्ट-इन संस्करण है