Jump to content

एक्सटेंशन:Labeled Section Transclusion

From mediawiki.org
This page is a translated version of the page Extension:Labeled Section Transclusion and the translation is 86% complete.
Outdated translations are marked like this.
मीडियाविकि एक्सटेंशन मैन्युअल
Labeled Section Transclusion
प्रकाशन की स्थिति: स्थिर
कार्यान्वयन टैग , पार्सर फंक्शन
विवरण टेक्स्ट के चिह्नित अनुभागों को ट्रांसक्लूड करने की सुविधा सक्षम करता है
लेखक Steve Sanbeg
संगतता नीति मीडियाविकि के साथ प्रकाशित स्नैपशॉट्स। Master में पीछे की तरफ से संगतता नहीं है।
MediaWiki 1.19+
डेटाबेस बदलता है नहीं
लाइसेंस GNU साधारण सार्वजनिक लाइसेंस 2.0 या अधिक
डाउनलोड करें
Public wikis using 6,919 (Ranked 26th)
Labeled Section Transclusion एक्सटेंशन को अनुवादित करें अगर यह translatewiki.net पर उपलब्ध है
मुद्दे अधूरे कार्य · बग की रिपोर्ट करें

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

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

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

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

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

स्थापना

  • फ़ाइलों को डाउनलोड करें और अपने extensions/ फ़ोल्डर के LabeledSectionTransclusion नामक डिरेक्ट्री में डालें।
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion
  • अपने LocalSettings.php फ़ाइल के अंत में निम्न कोड जोड़ें:
    wfLoadExtension( 'LabeledSectionTransclusion' );
    
  • Yes पूर्ण – अपने विकि पर Special:Version पर जाकर देखें कि एक्सटेंशन को सफलतापूर्वक स्थापित किया गया है कि नहीं।

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

कार्य

Transclude any marked part

चरण 1: अनुभाग चिह्नित करें

इस तरह से ‎<section> टैग्स की मदद से टेक्स्ट में अनुभाग चिह्नित करें:

<section begin="chapter1" />this is chapter 1<section end="chapter1" />

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


चरण 2-क: अनुभाग को ट्रांसक्लूड करें

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

{{#lst:articleX|chapter1}}

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

चरण 2-ख: अनुभाग के सिवाय पृष्ठ को ट्रांसक्लूड करें

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

{{#lstx:articleX|chapter1}}

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

{{#lstx:articleX|chapter1|replacement_text}}

उदाहरण:

{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}

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

जुड़े न हुए अनुभाग

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

अनुभाग रेंज

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

सब्सटिट्यूशन

यह सब्सटिट्यूशन के साथ भी काम करता है; लेख में अपने ही किसी अनुभाग को सब्सटिट्यूट किया जा सकता है। इसका एक अच्छा इस्तेमाल है वार्ता पृष्ठों को संरक्षित करना। <section begin=archive /> आदि की मदद से संरक्षित करने के लिए टेक्स्ट को चिह्नित करें। फिर टेक्स्ट के साथ {{subst:#lst:talk_page|archive}} की मदद से एक संरक्षण पृष्ठ बनाएँ, जिससे संरक्षित अनुभागों की प्रतिलिपि बना दी जाती है। आखिर में talk_page से उन अनुभागों को हटाने के लिए उसकी सामग्री को {{subst:#lstx:talk_page|archive}} से बदल दें।

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

परिचय को ट्रांसक्लूड करें

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

{{#lsth:pagename}}

किसी विशिष्ट अनुभाग को ट्रांसक्लूड करें

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

{{#lsth:pagename|sectionX}}

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

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

कई अनुभाग ट्रांसक्लूड करें

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

{{#lsth:pagename|sectionX|sectionY}}

छोड़े गए हैडिंग्स के बारे में टिप्पणियाँ

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

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

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

स्थानीयकरण

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

फ़ंक्शन अंग्रेज़ी जर्मन हिब्रू (RTL) पुर्तगाली
#lst #section #Abschnitt
#קטע
#trecho
#lstx #section-x #Abschnitt-x
#בלי קטע
#trecho-x
#lsth #section-h

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

अंग्रेज़ी
<section begin=x/> ... <section end=x/>
जर्मन
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
हिब्रू (RTL)
<קטע התחלה=א> ... <קטע סוף=א> (दाएँ तरफ "शुरुआत" का कोड, बाएँ तरफ "अंत" का कोड)
पुर्तगाली
<trecho começo=x/> ... <trecho fim=x/>

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

सीमाएँ

  • {{#lsth:pagename|sectionX}} 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.
  • अनुभाग टैग्स को दूसरे पृष्ठों पर काम करने के लिए ट्रांसक्लूड नहीं किया जा सकता। {{#lst:}} and {{#lstx:}} सिर्फ तभी काम करते हैं जब अनुभाग टैग्स सीधे ट्रांसक्लूड किए गए पृष्ठ के विकिटेक्स्ट में आए। इसका मतलब है कि इन टैग्स को साँचा पैरामीटरों और पार्सर फ़ंक्शन्स की मदद से साँचे में एम्बेड नहीं किया जा सकता। #tag जादुई शब्द अनुभाग टैग्स के साथ काम नहीं करता।
  • 2014 तक अनुभाग टैग्स साँचों के पैरामीटरों के अंदर जोड़े जाने पर कोई प्रभाव नहीं डालते। अगर पृष्ठ 'क' में टेक्स्ट {{ख|अ}} है, {{#lst:क|...}} किसी भी तरह से 'अ' तक नहीं पहुँच पाएगा।

उदाहरण

ये भी देखें

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