IhsAdke.com

शून्य मीडियाविकि थीम कैसे बनाएं

कई वेबसाइटें मिडियाविकी सॉफ्टवेयर का उपयोग करती हैं, जिसमें विकीहो! आपने गौर किया हो सकता है, हालांकि मीडियाविकि कई खाल (विषयों) उपयोग के लिए तैयार के साथ आते हैं, wikiHow की तरह कई साइटों, एक दृश्य और एक अनूठा अनुभव प्रदान करने के लिए अपनी त्वचा बनाने के लिए पसंद करते हैं। आप एक मिडियाविकी-आधारित वेबसाइट के रूप को विभिन्न तरीकों से अनुकूलित कर सकते हैं जब खाल का उपयोग करते हैं। ज्यादातर मामलों में, वांछित परिणाम प्राप्त करने के लिए खरोंच से त्वचा बनाने के लिए आवश्यक नहीं है। आप एक ऐसी त्वचा का उपयोग कर चुन सकते हैं जो पहले से ही एक आधार के रूप में मौजूद है, जैसे कि मोनोबुक, और अपनी आवश्यकताओं के अनुसार इसे समायोजित करें हालांकि, यदि आप वास्तव में विकी प्रारूप को पूरी तरह से बदलना चाहते हैं, तो आपको स्क्रैच से अपनी खुद की त्वचा बनाने की आवश्यकता हो सकती है। यह आलेख आपको व्यवस्थित, संगठित और सरल तरीके से प्रक्रिया के माध्यम से मार्गदर्शन करेगा! प्रदर्शन के लिए, हम मान लेंगे कि नई त्वचा का नाम होगा TrialSkin

. आपको चुने हुए नाम से "ट्रायलस्किन" नाम की सभी घटनाओं को बदलना होगा।

चरणों

  1. 1
    मूल त्वचा फ़ाइल संरचना बनाएं इसमें नीचे फ़ाइलें और फ़ोल्डर्स बनाने शामिल हैं (वे सभी फ़ोल्डर में होना चाहिए खाल मिडियाविकि स्थापना):
    • TrialSkin.php फ़ाइल - इसमें, आप कोड के अधिकतर जगह और पृष्ठों के लेआउट को परिभाषित करेंगे।
    • TrialSkin.deps.php फ़ाइल - डिफ़ॉल्ट फ़ाइल जो शायद हमेशा एक ही कोड होनी चाहिए यह एक को ठीक करने के लिए डिज़ाइन किया गया है बग PHP का
    • ट्रायलस्किन फ़ोल्डर - अन्य सभी त्वचा संबंधित फ़ाइलों को उस निर्देशिका में होना चाहिए, जिसमें स्टाइल शीट (सीएसएस) और छवियां शामिल हैं।
    • फ़ाइल /skins/trialskin/main.css - इसमें मुख्य त्वचा शैली पत्रक शामिल होंगे - [यह वैकल्पिक है, लेकिन आपको शायद इसकी आवश्यकता होगी.]
    • स्टाइल शीट फिक्स के लिए देखो, जैसे /skins/trialskin/IE60Fixes.css द्वारा उपलब्ध कराए गए - [वैकल्पिक लेकिन अनुशंसित.]
  2. 2
    इस आलेख के "स्टार्टअप कोड" उप-भाग में नीचे बूट कोड जोड़ें बदलें TrialSkin नाम के लिए त्वचा के लिए चुना और trialskin उसी नाम से, लेकिन इस बार केवल लोअरकेस अक्षरों के साथ।
  3. 3
    "श्रेणी सूची ठीक" कोड को निम्नानुसार संबंधित उपधारा में दिखाए गए अनुसार जोड़ें।
  4. 4
    निष्पादित करें () फ़ंक्शन, जिसे क्लाइंट ब्राउज़र में पृष्ठों की सामग्री प्रदान करने के लिए कहा जाएगा।
  5. 5
    वैश्विक चर $ wgUser को एक्जिक्यूट () फ़ंक्शन में घोषित करें और ऑब्जेक्ट या $ skin variable प्राप्त करने के लिए getSkin () विधि का उपयोग करें। आपको शायद इस चर की आवश्यकता है, लेकिन अगर ऐसा नहीं है, तो इस चरण को छोड़ दें। आप "अंकेक्षण (फ़ंक्शन) के मुख्य कोड" उपधारा में निष्पादन () फ़ंक्शन के बयान का एक आदर्श उदाहरण देखेंगे।
  6. 6
    विकी रेंडरिंग करने के लिए PHP और एक्सएचटीएमएल कोड जोड़ना प्रारंभ करें भले ही आपको मूलभूत लेआउट में बहुत बदलाव करने की आवश्यकता हो, आपको उस सूचना का एक ही सेट प्रदान करना पड़ सकता है जो डिफ़ॉल्ट खाल प्रस्तुत करता है (शायद कुछ बदलावों के साथ) तत्वों, घटकों और ब्लॉक जिन्हें सामान्यतः पृष्ठों में जोड़ा जाता है नीचे पाया जा सकता है। आप विवरण देखने या नमूना कोड प्राप्त करने के लिए इसी उपधारा का भी परामर्श कर सकते हैं:
    • एक्सएचटीएमएल कोड, जो खुलता है (और अंततः बंद होता है) HTML आउटपुट जो क्लाइंट ब्राउज़र को भेजा जाएगा।
    • तत्व सिर (हेडर), जो स्टाइल शीट और स्क्रिप्ट आयात करता है, पृष्ठ के लिए मेटा डेटा सेट करता है, और ब्राउज़र बार में प्रदर्शित होने के लिए शीर्षक को निर्दिष्ट करता है जब यह देखा जा रहा हो।
    • उद्घाटन टैग शव (शरीर) है, जो पृष्ठ के मुख्य तत्व को शुरू करता है और निर्दिष्ट करता है कि जब यह लोड होता है या तब होता है, तब क्या होता है संचालकों (त्रुटि संचालकों)
    • उस ब्लॉक में साइट नाम शामिल है
    • साइट का लोगो युक्त छवि।
    • साइट का नारा
    • संदेश ब्लॉक
    • उपयोगकर्ता के लिए संदेश अधिसूचना ब्लॉक (यदि आवश्यक हो)।
    • उपयोगकर्ता के टास्कबार
    • पृष्ठ के भीतर ही नेविगेशन ब्लॉक।
    • खोजें।
    • उपकरण बॉक्स।
    • अन्य भाषाओं के लिए लिंक
    • पृष्ठ का नाम
    • पृष्ठ का उपशीर्षक
    • पृष्ठ पुनर्प्राप्ति चेतावनी
    • पृष्ठ की सामग्री
    • श्रेणियों के लिए लिंक
    • पृष्ठ टास्कबार
    • पाद।
    • अंतिम कोड

विधि 1
स्टार्टअप कोड

  • त्वचा द्वारा त्वचा SkinTrialSkin व्यापारसॉकर का नाम, द्वारा trialskin आपका नाम और TrialSkinTemplate द्वारा द्वारा सॉकर का नामटेम्पलेट।
skinname = `trialskin` - $ this-> stylename = `trialskin` - $ this-> टेम्पलेट = `TrialSkinTemplate` -}} वर्ग TrialSkinTemplate फैली QuickTemplate {// कोड के अन्य वर्गों वर्ग के शरीर से जुड़ जाते हैं

विधि 2
श्रेणी सूची सुधार कोड

  • प्रारंभिक कोड के बाद अधिमानतः, टेम्पलेट क्लास (जो कि इस उदाहरण में, ट्रायलस्किनटीम्प्लेट वर्ग है) के शरीर में कोड को कॉपी और पेस्ट करें।
वापसी करता है, तो { "- / * एक उचित सूची * / समारोह GetCategories () {$ catlinks = $ this-> getCategoryLinks () बनाने के लिए कार्यों की श्रेणी प्राप्त (खाली ($ catlinks)!)
    {$ catlinks}
"- getCategoryLinks}} function () {$ समग्र wgOut, $ wgUser, wgTitle $, $ $ wgUseCategoryBrowser-वैश्विक-wgContLang अगर (गिनती ($ wgOut-> mCategoryLinks) == 0) वापसी `` - = $ $ त्वचा wgUser- > getSkin () - # $ विभाजक सितम्बर = "" - // एम्बेडेड बीड़ी चरित्र ओवरले // यह सुनिश्चित करें कि लिंक गंदा परदे पर $ dir = $ wgContLang-> isRTL () `rtl` नहीं हैं यूनिकोड वर्ण का उपयोग करें? : `ltr` - $ embed = "
  • "- $ pop = `
  • `- $ t = $ एम्बेड करें फटना ( "{$ पॉप} {} {$ सितम्बर $ एम्बेड}" $ wgOut-> mCategoryLinks)। संदेश $ = $ पॉप wfMsgExt ( `pagecategories` सरणी ( `parsemag`, `बच`), गिनती ($ wgOut-> mCategoryLinks)) - $ s $ = skin-> makeLinkObj (शीर्षक :: newFromText (wfMsgForContent ( ` पेजकेशंसलिंक `)), $ msg)। टी # $ वैकल्पिक - डीमॉज़ तरह एक्सप्लोरर श्रेणियों - श्रेणियों की सूची # एक लेख अंतर्गत आता है जो करने के लिए दिखाई देते हैं ($ wgUseCategoryBrowser) {$ s = `।

    `- # स्पिंडल की विस्तृत शृंखला को बनाने (पैरेंट) $ $ wgTitle- parenttree => getParentCategoryTree () - # वस्तु, संदर्भ द्वारा पारित किया जाना चाहिए के रूप में यह $ tempout की # उप drawCategoryBrowser से नहीं पहुंचा जा सकता है = विस्फोट ( " n" त्वचा :: drawCategoryBrowser ($ parenttree, $ इस)) - asort ($ tempout) - - लाइन $ प्रति # प्रिंट एक # प्रारंभिक झूठी प्रवेश और सेट नहीं ($ tempout [0]) के लिए आदेश को साफ s = implode ("
    n ", $ tempout) -} वापसी $ s-}

    विधि 3
    निष्पादित () फ़ंक्शन के मुख्य कोड

    • आप उन पंक्तियों को निकाल सकते हैं जो $ wgUser, $ wgSitename, और $ $ $ $ $ वेरिएबल घोषित करते हैं यदि आप उनका उपयोग नहीं करते हैं।
    समारोह रन () {// वैश्विक चर घोषित करने और इस मामले में वस्तुओं त्वचा प्राप्त करने के लिए यह futuroglobal $ wgUser, wgSitename- $ $ $ wgUser- त्वचा => getSkin () में की जरूरत है - // साइट का नाम $ मिल इस-> सेट ( `sitename` $ wgSitename) - // चेतावनी $ this-> datawfSuppressWarnings () में नहीं मिला सूचनाएं सूचकांक को रोकने के लिए हटाना -

    विधि 4
    एक्सएचटीएमएल कोड की मुख्य संरचना

    • आरंभिक कोड - यहां आप HTML टैग को लिखने के लिए त्वचा को कॉन्फ़िगर करेंगे और आवश्यक XHTML नामस्थानों को घोषित करेंगे। नीचे दिए गए कोड एक मानक कथन है। आप इसे बदल सकते हैं, लेकिन शायद यह आवश्यक नहीं होगा।
    ?>तिथि [`एक्सएचटीएमएल नामस्थान`] के रूप में $ टैग => $ एनएस) {?> xmlns:पाठ (`लैंग`)?> "लैंग ="पाठ (`लैंग`)?> "डीआईआर ="पाठ (`डायर`)?> ">
    • तत्व सिर - यहां, आप सिर तत्व की सामग्री लिखेंगे इसमें स्टाइल शीट्स, क्लाइंट साइड स्क्रिप्ट्स, और बॉट्स और ब्राउज़र के लिए मेटा डेटा के लिंक शामिल हैं यहां शामिल कोड डिफ़ॉल्ट है, इसलिए आपको कस्टम स्क्रिप्ट या स्टाइल शीट्स को शामिल करने के लिए इसे संशोधित करने की आवश्यकता हो सकती है।
      • कोड को ठीक से काम करने के लिए, आपको नीचे फाइल होने की आवश्यकता होगी (आप उस रेखा को निकाल सकते हैं जो इन स्टाइल शीट में से किसी भी आयात करता है यदि आपको उनकी आवश्यकता नहीं है):
        • /common/commonPrint.css - पृष्ठों को दिखाने के लिए शैली पत्रक। यदि आप डिफ़ॉल्ट संस्करण का उपयोग नहीं करना चाहते हैं, तो आप इस स्टाइल शीट के लिए पथ को बदल सकते हैं।
        • main.css, contents.css - त्वचा यह मुख्य त्वचा फ़ोल्डर में होना चाहिए (/ स्किन / ट्रायस्किन, इस उदाहरण में)
        • handheld.css - मोबाइल डिवाइस से निपटने के लिए एक स्टाइल शीट।
        • IE50Fixes.css, IE55Fixes.css, IE60Fixes.css, IE70Fixes.css - विभिन्न ब्राउज़रों के लिए बग फिक्स। आप इन फ़ाइलों को किसी भी मौजूदा स्कीन्स और पेस्ट से कॉपी कर सकते हैं, क्योंकि आपको शायद उनको कुछ भी संशोधित करने की आवश्यकता नहीं होगी।
      • आखिरी पंक्तियों में, जो टिप्पणी में शुरू होती है "/ *** मीडियाविकी से संबंधित विभिन्न स्क्रिप्ट और शैलियों *** /", आप उपयोगकर्ताओं के लिए, पृष्ठों के लिए, और संपूर्ण साइट के लिए विशिष्ट स्टाइल शीट ढूंढ सकते हैं। यदि आप इन सुविधाओं को कार्यान्वित नहीं करना चाहते हैं, तो बस उस समतुल्य पंक्तियों को उस टिप्पणी किए गए अनुभाग पर ले जाएं जो कि टिप्पणी में शुरू होती है।
      • यह पाया गया है कि $ the-> html (`headcripts`) कॉल अंततः समस्याओं का कारण हो सकता है इसलिए यदि कुछ गलत हो जाता है, तो इसे हटाने का प्रयास करें
      • अगर कोड किसी कारण से काम नहीं करता है, तो इस कोड को भूलने की कोशिश करें और स्टाइल शीट्स, लिपियों के लिंक जोड़कर और खुद को टैग करें!
    <मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ (`माइमप्रकार`)?> - वर्णसेट =पाठ (`वर्णसेट`)?> "/>html (`हेडलाइंस`)?><?php $this->पाठ (`pagetitle`)?>/ *पाठ (`शैलीपथ`)?> /पाठ (`स्टाइलएनाम`)?> / main.css?पाठ (`शैलीपथ`)?> /पाठ (`stylename`)?> / content.css?डेटा [`प्रिंट करने योग्य`])) {?> मीडिया = "प्रिंट"पाठ (`स्टाइलपथ`)?> / सामान्य / सामान्यप्रतिसि.कैसे?तिथि) ->>डेटा [`jsvarurl`]) {?>डेटा [`पेज सीएसएस`]) {?>तिथि [`यूजरसीएसएस`]) {?>डेटा [`userjs`]) {?>डेटा [`userjsprev`]) {?>डेटा [`trackbackhtml`]) प्रिंट करें $ the-> डेटा [`trackbackhtml`] -?>html (`हेडक्रिप्ट्स`)?>
    • टैग जो कोड के शरीर (शरीर) का रेंडरिंग करता है संभवत: आपको इस स्निपेट को संशोधित करने की आवश्यकता नहीं होगी जब तक कि आप टैग के अंदर कोड की बॉडी स्टाइल को संशोधित नहीं करना चाहते हैं, जिसे थोड़ा "हार्डकोड" माना जा सकता है
    डेटा [`body_ondblclick`]) {?> ondblclick = "पाठ (`body_ondblclick`)?> "डेटा [`body_onload`]) {?> onload = "पाठ (`body_onload`)?> "पाठ (`nsclass`)?> पाठ (`डायर`)?> पाठ (`पृष्ठ वर्ग`)?> ">
    • अंतिम कोड - फ़ाइल के अंत में जोड़े जाते हैं। वे खुले टैग, लिपियों, पीएचपी कोड और इतने पर बंद करते हैं। यहां दिखाए गए सभी कोड इन पंक्तियों से पहले रखा जाना चाहिए, जो फ़ाइल में अंतिम वाले होना चाहिए।
    html (`bottomscripts`) - / * JS को चलाने के लिए कॉल करेंबॉडीऑनलोडहाक * /?>html (`रिपोर्टटाइम`)?>डेटा [`डीबग`]):?>

    विधि 5
    साइट तत्वों के लिए डिफ़ॉल्ट कोड

    • $ The-> text ($ msg) और $ the-> html ($ msg) कॉल के उपयोग पर ध्यान दें। वे त्वचा में बहुत दिखाई देंगे
    • साइट का नाम:
    पाठ (`sitename`)?>
    • साइट का लोगो:
    • साइट का नारा:

    msg (`टैगलाइन`)>?

    • बुलेटिन बोर्ड - साइट चेतावनी शामिल है इसे आम तौर पर संपादित किया गया है और विकीमीडिया मैसेजिंग पेज में जोड़ा गया है: Sitenotice
    डेटा [`sitenotice`]) {?>
    html (`sitenotice`)?>
    • उपयोगकर्ता संदेश अधिसूचना ब्लॉक:
    तिथि [`न्यूटॉक`]) {?>


    html (`न्यूटॉक`)?>
    • आंतरिक पृष्ठ नेविगेशन ब्लॉक - वैकल्पिक
    डेटा [`शोजम्पप्लिंक्स`]) {?>
    msg (`jumpto`)?> msg (`जुम्टनॅविगेशन`)?>, msg (`जम्पटोसैच`)?>

    विधि 6
    पृष्ठ तत्वों के लिए डिफ़ॉल्ट कोड

    • पृष्ठ का नाम:

    डेटा [`डिस्प्लेटल`]! = "" $ $-> html- (`title`): $ this-> टेक्स्ट (`शीर्षक`)?>

    • पृष्ठ उपशीर्षक:
    html (`उपशीर्षक`)?>
    • पृष्ठ सामग्री:
    html (`बॉडीटेक्स्ट`)?>
    • श्रेणियों की लिंक:
    डेटा [`कैटलिंक`]) {?>
    • पाद लेख - यह कोड इंटरैक्टिव है, इसलिए इसे कॉपी करते समय सावधान रहें!

    विधि 8
    portlets

    • भाषा लिंक:
    तिथि [`भाषा_अर्ल्स`]) {?>
    msg (`अन्य भाषाएं`)?>
      डेटा [`language_urls`] $ लैंगलिंक के रूप में) {?>

    चेतावनी

    • हमेशा एक नई त्वचा बनाने का प्रयास करने से पहले डेटाबेस, स्थापना फ़ोल्डर, और सभी मिडियाविकि-संबंधित आइटम का बैक अप लें।
    • उपरोक्त प्रक्रिया किसी व्यक्ति (या कम से कम पर्यवेक्षण के साथ) द्वारा की जानी चाहिए, जिसकी मिडियाविकि सॉफ्टवेयर और PHP भाषा का काफी ज्ञान है। कोड में त्रुटियों के कारण अप्रत्याशित परिणाम और बग हो सकते हैं।

    युक्तियाँ

    • जैसे कोड बड़ा हो जाता है, आपको उसे अलग-अलग फ़ाइलों में अलग करना होगा और उन्हें मुख्य त्वचा फ़ाइल में शामिल करना होगा।
    • आप इंटरफ़ेस के कुछ भागों को प्रस्तुत करने के लिए विशिष्ट फ़ंक्शन बना सकते हैं। ऐसा करने से उन भागों में बहुत मदद मिलती है जिनको लंबे समय तक कोड की आवश्यकता होती है या जिन्हें लगातार संशोधनों की आवश्यकता होती है
    • अन्य त्वचा के आधार के रूप में एक न्यूनतम त्वचा को लागू करने और उसकी कक्षा का उपयोग करना एक अच्छा विचार हो सकता है।
    • उपरोक्त सभी कोड डिफ़ॉल्ट न्यूनतम कार्यान्वयन दिखाते हैं उनका काम पाठक को त्वचा वर्ग के टेम्पलेट से जानकारी निकालने और प्रत्येक अनुभाग में क्या संशोधित किया जा सकता है, यह बेहतर ढंग से कल्पना करने के लिए सिखाता है, क्योंकि आप यहां दिखाए गए डिफ़ॉल्ट क्रियान्वयन को संशोधित कर सकते हैं।
    सामाजिक नेटवर्क पर साझा करें:

    संबद्ध
    © 2021 IhsAdke.com