Extension:Labeled Section Transclusion/hi

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

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

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

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

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



यह कैसे काम करता है


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

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



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

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



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

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

उदाहरण:

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



दूसरे फ़ंक्शन्स


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



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

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

Transcluding sections by headings
There is optional support for transcluding sections of text marked with the normal headings, i.e. . If installed, this is done with the lsth function.

Transclude the introduction
To transclude the introduction of a page (i.e. the content before the first heading), use

Transclude a specific section
You can also transclude the whole content of the sectionX (which includes all its sub-sections but excludes the heading of sectionX itself).

लिखने योग्य बातें:

E.g. from pagename/en rather than from pagename.
 * 1) Only the first occurrence of the sectionX is transcluded if you have more than one section with the same name.
 * 1) Make sure you type what the heading of sectionX is in wikitext, not how it is displayed. For example if the heading of the section is  , you should type " " not " ".
 * 1) When transcluding a section from a page marked for translation using the translate extension, transclude from the language-specific version.
 * 1) The matching is case insensitive, to prevent links from breaking due to case changes.

Transclude multiple sections
You can also transclude from the first occurrence of sectionX (excluding the heading of sectionX itself) until it reaches the next occurrence of sectionY. Note that sectionY acts as a stop point so the transclusion doesn't contain the content of sectionY.

Notes about skipped headings
Since the traditional transclusion in MediaWiki isn't intended to transclude sections, it doesn't account for skipped headings. As a result, if you were to transclude a template with multiple headings, and skip the first heading, then all of the edit sections links would point to the wrong section in the template.

When this extension is used (with MediaWiki 1.9 or later), the #lst and #lsth functions count headings in the "skipped" beginning part, and offset transcluded headings appropriately. This will allow these links to point to the correct section in the simple case.

Note that #lstx does not count skipped headings, and that skipped headings within discontiguous sections are not offset. ''' But it seems it has been fixed now (likely when ported to MediaWiki's new preprocessor). The transcluded headings can be linked to the correct sections '''.

Localisation
Internally, the parser functions all use the lst prefix, for consistency with the name of the extension. Since this acronym may be confusing to non-developers, readable English variants have been introduced, so the functions can currently be called from either name.

Additionally, the tag can now be localised; currently: ,, , ; i.e.:


 * (RTL):  ( "start" code to the right and "end" code to the left )
 * (RTL):  ( "start" code to the right and "end" code to the left )
 * (RTL):  ( "start" code to the right and "end" code to the left )

Each localization is enabled only if the page matches the respective content language.

Limitations

 * 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.
 * Section tags cannot themselves be transcluded in order to work on other pages.  and   work only if section tags appear directly in the wikitext of the transcluded page. This means, for instance, that these tags cannot be embedded in a template using template parameters and parser functions. The   magic word does not work with section tags.
 * As of 2014, section tags don't have any effect when used inside a template parameter. If page A contains a text, there's no way  can access X.

Installation
There is also a Gadget in use on various Wikisources that makes it possible to define sections with a simplified  syntax. Its code can be found at Wikisource:MediaWiki:Gadget-Easy_LST.js.

Examples

 * wikisource:user:sanbeg/Includer is an early demonstration that shows several of the basic features.