Vikipediya:Modullar

Vikipediya, ochiq ensiklopediya

Modullar — boshqa sahifalarni muvofiqlashtirish uchun ishga tushirilishi mumkin boʻlgan Lua kodini oʻz ichiga olgan maxsus Vikipediya sahifalaridir. Modullarning maqsadi foydalanuvchilar tomonidan yozilgan nisbatan murakkab funksiyalar orqali MediaWiki funksiyalarini kengaytirishdir. Modullar „Module“ nomfazosiga joylashtiriladi. Ularga qoʻshimcha ravishda, JSON maʼlumotlari sahifalari va modullar hujjatlari, andoza uslublari yozilgan Module:$1/doc ostsahifalari yaratiladi. Ayni paytda Vikipediyaning barcha bloklanmagan aʼzolari modullarni yaratish va tahrirlash imkoniyatiga ega, himoyalanganlaridan tashqari.

Texnik xususiyatlari[manbasini tahrirlash]

  • Lua bajariladigan kodi boʻlgan sahifalar modul nomfazosidagi sahifalardir, nomi modul hujjatlari andozasiga mos keladiganlar bundan mustasno. Wiki-kodni oʻz ichiga olgan sahifa nomini modulga oʻzgartirish texnik jihatdan mumkin emas va aksincha.
  • Hech qanday wiki-kod konstruksiyalari modul sahifalarida ishlamaydi, jumladan, turkumlash teglari, andoza qoʻshimchalari, sharhlar. Modul kodidan oldin barcha shu kabi elementlarni oʻz ichiga olishi mumkin boʻlgan hujjatlar sahifasi avtomatik ravishda kiritiladi (yoki agar u mavjud boʻlmasa, uni yaratish taklifi koʻrsatiladi).
  • Modulni boshqa sahifalardan chaqirish mumkin:
    • Ushbu konstruksiyani andoza (qoʻshilgan har qanday sahifa) orqali kiritish, shu bilan birga #invoke toʻgʻridan-toʻgʻri chaqiruvchi andoza parametrlari modulda mavjud;
    • Boshqa modulda yozish (qarang Lua hujjatlari).

Tashkiliy xususiyatlar[manbasini tahrirlash]

  1. Modullar, ularning hujjatlari va muhokamalari bor. Ularda barcha asosiy qoidalariga (masalan, WP:AP, WP:NTZ, WP:SOVR) ham rioya qilish kerak. Toʻgʻri foydalanilganda modul tomonidan yaratilgan tarkib, shuningdek, tegishli sahifalar mazmuni uchun barcha qoidalarga javob berishi kerak (masalan, WP:CDI).
  2. Modullar koʻp jihatdan shablonlarga oʻxshaydi va koʻp hollarda shablonlar uchun qoidalar qoidalari ularga avtomatik ravishda targʻib qilinadi (masalan, WP:PAT, WP:3S).
  3. Asosiy nomfazo, turkumlar, loyiha hujjatlari va boshqa sahifalarda. #invoke kodidan foydalanmaslik kerak, balki maxsus andozalar orqali ishlatilishi kerak.
  4. Modullar odatda Turkum:Vikipediya:Modullar yoki uning pastki turkumlaridan birini oʻz ichiga olgan hujjat sahifalarini talab qiladi (aks holda modulni turkumlash mumkin emas). Shuningdek, modul va uning individual funksiyalari qayerda, qanday va nima uchun ishlatilishini tushuntirish maʼqulroq.
  5. Modulni birinchi navbatda konsolda moslashtirish tavsiya etiladi, saqlangandan keyin amaliy foydalanishdan oldin Module:UnitTests yordamida tekshirish lozim. Ishlatilgan modullarda yangi funksiyalarni tuzatishda tajribalar uchun vaqtinchalik versiyani yaratish tavsiya etiladi (masalan, Module:Math/sandbox). Xususan, ushbu qoidalar faol foydalaniladigan va cheklovlar chegarasiga yaqin boʻlgan modullarga nisbatan qoʻllaniladi.
  6. Modul maydonida kod bajarilishini talab qiluvchi foydalanuvchilar, loyihalar, portallar va boshqalar uchun sahifalar joylashgan. Bunday sahifalarning mazmuni berilgan nomfazo mezonlariga javob berishi kerak.
  7. Boshqa ishtirokchilarga unga oʻzgartirishlar kiritish osonroq boʻlishi uchun modullar kodiga izoh berish tavsiya etiladi.