Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan.
Modul Lua ini digunakan pada banyak halaman dan perubahannya kemungkinan memicu perubahan massal pada semua halaman yang menggunakannya. Uji cobalah di subhalaman /bak pasir atau /kasus uji Modul:WikiProject banner, atau bak pasir modul Anda. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya.
Module:WikiProject banner dapat digunakan untuk membuat ProyekWiki pataka, memungkinkan proyek baru untuk dengan mudah membuat spanduk untuk ditempatkan di artikel talk pages, memastikan standarisasi antar proyek. Daftar semua banner WikiProject yang menggunakan meta-templat ini dapat ditemukan here.
Karena ini adalah meta templat, sebaiknya tidak ditransklusikan langsung ke halaman pembicaraan saat Anda ingin menandai suatu halaman. Sebagai gantinya, gunakan templat yang disediakan oleh ProyekWiki..
Spanduk WikiProject dikategorikan ke dalam subkategori Kategori:ProyekWiki pataka. Tidak perlu menyertakan tautan kategori dalam dokumentasi untuk setiap banner proyek. Setiap banner proyek yang bermasalah akan ditambahkan secara otomatis ke Kategori:Spanduk WikiProject dengan kesalahan.
SintaksisSintaksis
Template ini dapat digunakan pada berbagai tingkat kerumitan, dari yang sangat sederhana hingga yang sangat rumit. Opsi sederhana tercantum di sini terlebih dahulu, dan kerumitannya akan meningkat di bagian bawah halaman..
Dua jenis parameter berbeda digunakan: pemformatan dan tampilan:
Parameter pemformatan menyesuaikan meta-templat untuk proyek tertentu, menentukan target tautan, kategori, gambar, dan teks. Semua parameter pemformatan menggunakan HURUF KAPITAL dan garis bawah. (_) alih-alih spasi, misalnya |PROJECT= dan |NOTE_1_CAT=.
Parameter tampilan menyesuaikan keluaran templat untuk setiap individu artikel tempat spanduk ditampilkan. Ini adalah parameter yang dimasukkan di halaman pembicaraan. (|class=, |importance=, etc.) dan mereka harus 'diteruskan' melalui spanduk proyek ke meta-templat di bawahnya. Untuk 'lulus' parameternya foo, Anda perlu menyertakan kode foo={{{foo|}}}.
Dalam contoh di bawah ini, spanduk WikiProject akan dibuat untuk (saat ini) tidak ada WikiProject Tulips.
Pilihan sederhanaPilihan sederhana
PROJECT(Diperlukan) – nama proyek tanpa kata "ProyekWiki", digunakan dalam berbagai konteks; huruf pertama biasanya harus dikapitalisasd. Eg: Tulips
BANNER_NAME={{subst:FULLPAGENAME}} – diasumsikan bahwa nama halaman template banner adalah "Template:WikiProject <PROJECT>". Jika tidak demikian, maka tentukan nama halaman dalam parameter ini. Eg: Template:Tulips project
PROJECT_LINK – diasumsikan bahwa proyek tersebut berlokasi di "Wikipedia:WikiProject <PROJECT>". Jika tidak demikian, maka tentukan tautan lengkap ke halaman proyek dalam parameter ini. Eg: Wikipedia:WikiProject Tulips
PROJECT_NAME – jika proyek Anda tidak dipanggil "WikiProject <PROJECT>" lalu tentukan nama proyek yang tepat dengan parameter ini
substcheck – Hal ini memungkinkan templat untuk mendeteksi jika templat telah digantikan alih-alih ditransklusi dan memberikan pesan kesalahan. substcheck=<includeonly>{{subst:</includeonly><includeonly>substcheck}}</includeonly>
listas(Diperlukan) – the 'listas' parameter harus dilewatkan melalui template. Eg: listas={{{listas|}}}
IMAGE_LEFT – lokasi gambar yang akan digunakan di sudut kiri atas spanduk. Tidak termasuk "File:" awalan. Gambar yang digunakan pada spanduk WikiProject harus menjadi gambar gratis – fair use gambar adalah bukan permitted. Eg: Tulipa suaveolens floriade to Canberra.jpg
IMAGE_LEFT_SIZE – ukuran IMAGE_LEFT. Default is 80px. Eg: 50px
IMAGE_RIGHT – lokasi gambar yang akan digunakan di sudut kanan atas banner. Tidak termasuk "File:" prefix. Images used on WikiProject banners harus menjadi gambar gratis – fair use gambar adalah bukan diizinkan. Eg: Tulipa suaveolens floriade to Canberra.jpg
IMAGE_RIGHT_SIZE – ukuran IMAGE_RIGHT. Standarnya adalah 80px. Eg: 50px
MAIN_TEXT – teks defaultnya adalah "Artikel ini berada dalam cakupan [[WikiProject {{{PROJECT_LINK}}}]], upaya kolaboratif untuk meningkatkan cakupan {{{PROJECT or MAIN_ARTICLE}}} artikel di Wikipedia. Jika Anda ingin berpartisipasi, silakan kunjungi halaman proyek, di mana Anda dapat bergabung dengan [[Talk:{{{PROJECT_LINK}}}]] diskusi dan melihat daftar tugas yang terbuka." Jika ditentukan, pesan alternatif akan ditampilkan..
MAIN_ARTICLE – artikel defaultnya adalah PROJECT; atau, artikel yang ditautkan dapat diubah menjadi judul artikel mentah atau teks yang lebih rumit. Eg: (default) tulips → "...cakupan dari tulips di Wikipedia..." atau (bergantian) [[tulip]]s, [[liliaceae]] and related articles → "...cakupan dari tulips, liliaceae dan artikel terkait di Wikipedia..."
PORTAL – jika WikiProject mempertahankan portal, Tentukan parameter ini dengan nama portal. Gambar terkait ditempatkan di tengah Module:Portal/images. Eg: Tulips
MAIN_CAT – standarnya adalah tidak main category created; kategori utama dibuat; jika ditentukan, semua halaman yang menampilkan templat akan diurutkan ke dalam Category:MAIN_CAT. Eg: WikiProject Tulips articles → Category:WikiProject Tulips articles
BOTTOM_TEXT – jika didefinisikan, berisi teks yang akan muncul di bagian bawah banner dan di atas collapsed section (jika ada yang hadir).
ContohContoh
{{#invoke:WikiProject banner|main
|PROJECT = Tulips
|substcheck=<includeonly>{{subst:</includeonly><includeonly>substcheck}}</includeonly>|listas={{{listas|}}}|PROJECT_LINK = Wikipedia:Somewhere about tulips
|IMAGE_LEFT = Tulipa suaveolens floriade to Canberra.jpg
|IMAGE_LEFT_SIZE = 50px
|MAIN_ARTICLE =[[tulip]]s, [[liliaceae]] and related articles
}}
ini artikel berada dalam lingkup WikiProject Tulips, upaya kolaboratif untuk meningkatkan cakupan tulips, liliaceae dan artikel terkait di Wikipedia. Jika Anda ingin berpartisipasi, silakan kunjungi halaman proyek, tempat Anda dapat bergabung diskusi dan melihat daftar tugas yang terbuka.TulipsWikipedia:Somewhere about tulipsTemplat:WikiProject TulipsTulips
PenilaianPenilaian
Banyak proyek menggunakan Wikipedia:Penilaian konten skema untuk menilai artikel mereka berdasarkan kualitas dan yang sesuai importance scale untuk menempatkan artikel mereka berdasarkan prioritas. Untuk menerapkan WP:1.0, yang menggunakan bot untuk secara otomatis mengkompilasi tabel statistiknya, Anda harus mengikuti petunjuk di /Using the bot, serta yang diuraikan di sini.
class(Required)– the class parameter must be passed through, if the quality scale is used. Eg: class={{{class|}}}
auto the auto parameter must be passed through, if the auto assess option is needed. Eg: auto={{{auto|}}} Proyek yang menggunakan bots untuk mengkategorikan artikel secara otomatis, bot dapat menambahkan parameter berikut ke banner proyek, yang memicu tampilan pemberitahuan kecil bahwa artikel tersebut ditandai oleh bot dan bukan manusia:
|auto=stub, untuk artikel yang menyertakan templat rintisan, untuk menunjukkan bahwa artikel tersebut telah secara otomatis diberi peringkat Kelas rintisan;
|auto=inherit, untuk menunjukkan bahwa kelas tersebut secara otomatis diwarisi dari penilaian WikiProject lain di halaman yang sama;
|auto=length, untuk menunjukkan bahwa kelas telah secara otomatis disimpulkan dari panjang artikel.
b1, b2, b3, b4, b5, b6 – enam parameter kriteria kelas B.
importance– jika didefinisikan, mengaktifkan skala kepentingan standar (Atas, Tinggi, Sedang, Rendah, NA, Tidak Diketahui). Eg: importance={{{importance|}}}
IMPORTANCE_SCALE &mengonfigurasi skala kepentingan, jika digunakan. Opsi yang mungkin adalah:
standard – mengaktifkan skala kepentingan 'standar' (Atas, Tinggi, Tengah, Rendah, NA dan Tidak Diketahui). (Ini adalah perilaku default.)
inline – memungkinkan skala kepentingan khusus yang sederhana untuk didefinisikan, umumnya dengan {{Importance mask}}.
subpage – memungkinkan skala kepentingan kustom yang lebih kompleks untuk digunakan menggunakan subhalaman yang disebut /importance.
ASSESSMENT_LINK – tautan ke kualitas khusus WikiProject (dan/atau penting) skala. Jika ada halaman di "Wikipedia:WikiProject <PROJECTLINK>/Assessment" maka ini akan digunakan secara default. Untuk menggantinya, Anda dapat mengatur parameter ini ke tidak.
ini artikel berada dalam lingkup WikiProject Tulips, upaya kolaboratif untuk meningkatkan cakupan Tulips articles di Wikipedia. Jika Anda ingin berpartisipasi, silakan kunjungi halaman proyek, tempat Anda dapat bergabung diskusi dan melihat daftar tugas yang terbuka.TulipsWikipedia:WikiProject TulipsTemplat:WikiProject TulipsTulips
attention – lewati parameter ini untuk mengaktifkan penggunaan catatan perhatian. Eg: attention={{{attention|}}}, kemudian dengan memasukkan |attention=yes di halaman pembicaraan.
infobox – lewati parameter ini untuk mengaktifkan penggunaan catatan needs-infobox. Eg: infobox={{{needs-infobox|}}}, kemudian dengan memasukkan |needs-infobox=yes di halaman pembicaraan.
note 1– lewati parameter ini untuk memicu catatan apa pun yang ditentukan. Eg: note 1={{{needs-photo|}}}, kemudian dengan memasukkan |needs-photo=yes di halaman pembicaraan.
NOTE_1_TEXT – teks catatan 1. E.g.: Halaman ini telah ditandai sebagai membutuhkan photograph. Jika ini dibiarkan kosong maka tidak ada keluaran visual.
NOTE_1_IMAGE – Gambar dapat ditentukan untuk setiap catatan. Ingat bahwa semua gambar harus bebas, bukan penggunaan wajar. Eg: Gnome-dev-camera.svg
COLLAPSED – Ketika lebih dari jumlah ambang batas catatan dan peringatan dipicu pada suatu halaman, catatan dan peringatan tersebut akan secara otomatis diciutkan ke dalam kotak tampilkan/sembunyikan. Jumlah ambang batas dapat disesuaikan dengan mengatur parameter ini ke jumlah maksimum catatan pada suatu halaman yang akan bukan Ketika lebih dari jumlah ambang batas catatan dan peringatan dipicu pada suatu halaman, catatan dan peringatan tersebut akan secara otomatis diciutkan ke dalam kotak tampilkan/sembunyikan. Jumlah ambang batas dapat disesuaikan dengan mengatur parameter ini ke jumlah maksimum catatan pada suatu halaman yang akan selalu membuat kotak runtuh (jika ada catatan untuk mengisinya), ketika |COLLAPSED=999 tidak akan pernah memicu kotak runtuh. Eg: 6
COLLAPSED_HEAD &judul untuk bagian yang diciutkan; standarnya adalah Informasi lebih lanjut:Eg: Informasi tambahan:
NOTE_SIZE – ukuran gambar yang digunakan untuk ikon. (Disarankan untuk mendahului ukuran dengan "x" karena ini menentukan tinggi gambar, bukan lebarnya, yang menghasilkan banner lebih rapi karena semua baris memiliki tinggi yang sama.) Tinggi defaultnya adalah 25px. Eg: x30px
ContohContoh
{{#invoke:WikiProject banner|main
|PROJECT = Tulips
|substcheck=<includeonly>{{subst:</includeonly><includeonly>substcheck}}</includeonly>|listas={{{listas|}}}|IMAGE_LEFT = Tulipa suaveolens floriade to Canberra.jpg
|QUALITY_SCALE = extended
|class={{{class|}}}|ASSESSMENT_LINK = Wikipedia:WikiProject Tulips/Article grading
|auto={{{auto|}}}|AUTO_ASSESS_CAT =|attention={{{attention|}}}|ATTENTION_CAT =|infobox={{{needs-infobox|}}}|INFOBOX_CAT =|note 1={{{needs-photo|}}}|NOTE_1_TEXT = Halaman ini telah ditandai sebagai membutuhkan [[fotografi]].
|NOTE_1_IMAGE = Gnome-dev-camera.svg
|NOTE_1_CAT = Wikipedia meminta foto Floridiae
|note 2 ={{{audio-file|}}}|NOTE_2_TEXT = File [[audio file format|audio file]] telah dibuat artikel ini.
|NOTE_2_IMAGE = Nuvola apps arts.svg
|NOTE_2_CAT = Artikel Tulip dengan file audio
}}
ini artikel berada dalam lingkup WikiProject Tulips, upaya kolaboratif untuk meningkatkan cakupan Tulips articles di Wikipedia. Jika Anda ingin berpartisipasi, silakan kunjungi halaman proyek, tempat Anda dapat bergabung diskusi dan melihat daftar tugas yang terbuka.TulipsWikipedia:WikiProject TulipsTemplat:WikiProject TulipsTulips
Informasi lebih lanjut:
/
Artikel ini telah ditandai sebagai memerlukan perhatian segera..
Artikel ini telah ditandai sebagai membutuhkan infobox.
Halaman ini telah ditandai sebagai membutuhkan fotografi.
Modul dapat menampung task forces, Masing-masing dengan gambar, tautan, dan skala kepentingannya sendiri, jika diinginkan. Parameter berikut tersedia.:
tf 1 – parameter ini harus diteruskan untuk mengaktifkan dan memicu tampilan bagian gugus tugas. Eg: tf 1={{{floridiae|}}}
TF_1_LINK – nama halaman lengkap halaman proyek gugus tugas. Eg: Wikipedia:WikiProject Tulips/Task forces/Floridiae
TF_1_NAME – Nama gugus tugas. Ini digunakan sebagai label untuk tautan gugus tugas. (kecuali |TF_1_TEXT= digunakan sebagai gantinya). Eg: satuan tugas Floridiae
TF_1_NESTED – jika didefinisikan, tautan dalam bentuk "/ [[{{{TF_1_LINK}}}|{{{TF_1_NESTED}}}]]" is ditambahkan setelah nama proyek utama ketika banner diciutkan di dalam {{WikiProject banner shell}}. Eg: Floridiae
TF_1_TEXT – jika didefinisikan, menggantikan default "Halaman ini didukung oleh..." teks. E.g.: Halaman ini berada dalam cakupan [[Wikipedia:WikiProject Tulips/Task forces/Floridiae|Floridiae task force]]. Peserta baru selalu diterima! Jika didefinisikan sebagai "none", maka tidak akan ada output yang ditampilkan, meskipun kategori yang sesuai akan tetap ditambahkan.
TF_1_IMAGE – Sebuah gambar dapat didefinisikan untuk setiap satuan tugas. Ingat bahwa semua gambar harus bebas, bukan penggunaan wajar. Eg: Tulipa florenskyi 4.jpg
TF_1_QUALITY – jika didefinisikan, memungkinkan kategorisasi kualitas untuk proyek utama (e.g.: Category:FA-Class Tulips articles) untuk diduplikasi untuk gugus tugas. Kelas yang timbul dari |class= dan |QUALITY_SCALE= akan digunakan; Eg: yes
tf 1 penting– jika didefinisikan, memungkinkan penggunaan kepentingan terpisah (atau prioritas, jika digunakan) skala untuk gugus tugas.Eg: tf 1 penting={{{floridiae-importance|}}}
TF_1_ASSESSMENT_CAT(Diperlukan jika penilaian kualitas atau kepentingan digunakan) – kategori penilaian yang akan digunakan untuk penilaian kualitas dan kepentingan khusus gugus tugas. Sintaksisnya identik dengan |ASSESSMENT_CAT=. Eg: Floridiae articles → Category:FA-Class Floridiae articles
TF_1_HOOK – kode tambahan ke "hook" pada templat hanya jika gugus tugas ini digunakan.
TF_SIZE – ukuran ikon gugus tugas. (Disarankan untuk mendahului ukuran dengan "x" karena ini menentukan tinggi gambar, bukan lebarnya, yang menghasilkan banner lebih rapi karena semua baris memiliki tinggi yang sama.) Tinggi defaultnya adalah 25px. Eg: x30px
ini artikel berada dalam lingkup WikiProject Tulips, upaya kolaboratif untuk meningkatkan cakupan Tulips articles di Wikipedia. Jika Anda ingin berpartisipasi, silakan kunjungi halaman proyek, tempat Anda dapat bergabung diskusi dan melihat daftar tugas yang terbuka.TulipsWikipedia:WikiProject TulipsTemplat:WikiProject TulipsTulips
Jika gugus tugas dianggap tidak aktif, maka parameter dan teks berikut dapat digunakan:
|TF_N_TEXT = Artikel ini berada dalam lingkup [[Wikipedia:ProyekWiki (nama proyek)/(nama gugus tugas)|(nama gugus tugas)]], satuan tugas yang saat ini dianggap '''[[Wikipedia:ProyekWiki/Pedoman#Menghadapi ProyekWiki tidak aktif|tidak aktif]]'''.
dimana "N" adalah nomor gugus tugas, dan nama proyek dan gugus tugas dicantumkan jika ditunjukkan..
Fitur-fitur canggihFitur-fitur canggih
Fitur-fitur yang dijelaskan di bawah ini tidak standar dan mungkin tidak boleh ditambahkan ke banner proyek tanpa persetujuan tegas dari peserta ProyekWiki.
Daftar periksa kelas BDaftar periksa kelas B
Mengaktifkan daftar periksa kelas B. Ada six official criteria (meskipun beberapa proyek menggunakan lima) yang harus dipenuhi sebuah artikel agar dapat diklasifikasikan sebagai kelas B. Daftar periksa dapat memberikan bantuan yang bermanfaat bagi editor untuk menunjukkan bagian mana dari artikel yang perlu diperbaiki.
Parameter yang diperlukanParameter yang diperlukan
Enam kriteria Kelas B: b1, b2, b3, b4, b5, b6
Parameter opsionalParameter opsional
B_DISPLAY_ON_START – jika diatur ke "yes", Daftar periksa akan ditampilkan di setiap artikel Start-class. Perilaku default-nya adalah hanya ditampilkan di Start-class ketika satu atau lebih parameter b1-b6 telah diisi.
B_MAIN_CAT – menentukan kategori yang akan digunakan ketika salah satu parameter daftar periksa kosong.
B1_CAT to B6_CAT – menentukan kategori individual untuk digunakan saat parameter daftar periksa individual kosong atau disetel ke tidak.
Nama parameter khususNama parameter khusus
Nama parameter standar (i.e. b1, b2, etc.) harus dilewatkan sebagai alternatif dari parameter khusus apa pun (e.g. B-Class-1, B-Class-2, etc.). Misalnya:
b1={{{B-Class-1|{{{b1|}}}}}}
Jika hanya parameter standar yang digunakan, maka eg: b1={{{b1|}}}, etc. is fine.
Satuan tugas yang kolapsSatuan tugas yang kolaps
Secara default, daftar gugus tugas akan diringkas menjadi kotak tampilkan/sembunyikan jika ada lebih dari 5 gugus tugas. Anda dapat mengonfigurasi perilaku ini dengan parameter berikut:
TF_COLLAPSE – jumlah ambang batas gugus tugas agar mereka dapat runtuh, misalnya jika |TF_COLLAPSE=3 maka mereka akan runtuh apabila ada lebih dari 3 gugus tugas.
TF_HEADER – judul untuk bagian yang diciutkan. Defaultnya adalah Gugus tugas terkait:
Daftar tugasDaftar tugas
Ini memungkinkan daftar tugas proyek atau daftar serupa lainnya untuk diintegrasikan ke dalam spanduk proyek.
Ada dua parameter utama, |TODO_LINK= dan |TODO_TEXT=. Hanya satu yang boleh digunakan setiap saat. Jika daftar tugas berada di halaman lain, maka TODO_LINK seharusnya digunakan. Namun, jika Anda hanya memiliki beberapa teks untuk disertakan, Anda dapat menggunakan TODO_TEXT pilihan sebagai gantinya.
Jika Anda menggunakan |TODO_LINK= dan tidak ingin melihat tautan edit di bagian atas kotak teks, atur TODO_EDITLINKS=no.
ContohContoh
{{#invoke:WikiProject banner|main
|PROJECT = Tulips
|listas={{{listas|}}}|NAME = The Tulip taskforce
|IMAGE_LEFT = Tulipa suaveolens floriade to Canberra.jpg
|TODO_LINK = Templat:PR/to do
|TODO_TITLE = WikiProject Tulips To-do
}}
Produces:
Lua error in package.lua at line 80: module 'Module:WikiProject banner/auxiliary' not found.
QII_SUPPRESS_NA – dapat diatur ke yes untuk menghentikan kategori ditambahkan ketika kelas atau kepentingannya "NA". Ini juga dapat diatur secara individual::
QII_SUPPRESS_NA_CLASS – dapat diatur ke yes untuk menghentikan kategori yang ditambahkan saat class=NA
QII_SUPPRESS_NA_IMPORTANCE – dapat diatur ke yes untuk menghentikan kategori yang ditambahkan ketika penting=NA
QII_UNASSESSED_APPENDIX – teks untuk ditambahkan ke kelas saat itu "Belum dinilai", e.g. |QII_UNASSESSED_APPENDIX=-Class
Catatan yang dibutuhkan gambarCatatan yang dibutuhkan gambar
Fitur ini menambahkan catatan yang dapat digunakan untuk melacak kapan artikel membutuhkan gambar, foto, diagram, ilustrasi, dll. Ini akan mengisi berbagai kategori seperti
Dibutuhkan parameter berikut:
Parameter yang diperlukanParameter yang diperlukan
image-needed – melewati parameter apa pun yang Anda gunakan untuk memicu catatan ini, e.g. |image-needed={{{needs-image|}}}.
Parameter opsionalParameter opsional
IM_IMAGE – menentukan ikon yang akan digunakan (tanpa awalan namespace File); standarnya adalah ([[File:Camera-photo.svg|20px]]).
image-type – melewati jenis yang dapat digunakan untuk mengakomodasi komponen lain yang dibutuhkan, e.g. diagram, persamaan, peta, dll. Jika ini tidak ditentukan maka "gambar atau photografi" digunakan. E.g. |image-type={{{type|}}}.
detail-gambar – untuk memungkinkan editor menyampaikan detail lebih lanjut tentang gambar yang diperlukan, e.g. |image-details={{{details|}}}.
lokasi-gambar – lewati parameter ini untuk memungkinkan editor menentukan lokasi gambar yang diminta, e.g. |image-location={{{location|}}}. Ini juga akan mengisi kategori formulir Category:Wikipedia requested photographs in Scotland.
IM_LOCATION_CATEGORY – kategori default untuk digunakan ketika lokasi tidak ditentukan atau mengarah ke kategori yang tidak ada.
image-topic – sampaikan ini untuk memungkinkan editor menentukan area topik yang terkait dengan foto tersebut, e.g. |image-topic={{{topic|}}}. Ini akan mengisi kategori seperti Category:Wikipedia requested photographs of toys.
IM_TOPIC_CATEGORY – kategori default jika topik tidak ditentukan atau mengarah ke kategori yang tidak ada, e.g. |IM_TOPIC_CATEGORY=Wikipedia requested images of politics.
Fitur ini memungkinkan sistem kolaborasi proyek diintegrasikan ke dalam banner proyek. Parameter berikut digunakan::
Parameter yang diperlukanParameter yang diperlukan
collaboration-candidate – melewati parameter yang akan memicu catatan kandidat kolaborasi, jika digunakan, e.g. |collaboration-candidate={{{collaboration-candidate|}}}
collaboration-current – parameter yang akan memicu catatan kolaborasi saat ini, jika digunakan. E.g. |collaboration-current={{{collaboration|}}}
collaboration-past – parameter yang akan memicu catatan kolaborasi sebelumnya, jika digunakan. e.g. |collaboration-past={{{past-collaboration|}}}
COLL_LINK – tautan lengkap tempat ulasan untuk artikel tertentu disimpan. E.g. |COLL_LINK=Wikipedia:WikiProject Paranormal/Collaboration
Parameter opsionalParameter opsional
COLL_TEXT – teks yang akan ditampilkan sebagai pengganti teks default "kolaborasi proyek", e.g. |COLL_TEXT=Collaboration of the Month
COLL_IMAGE – nama gambar yang akan digunakan. Jika tidak ditentukan, maka digunakan.
COLL_CANDIDATE_CAT – jika didefinisikan, halaman menggunakan |candidate=yes akan dikategorikan ke dalam kategori ini, e.g. |COLL_CANDIDATE_CAT=Paranormal collaboration candidates → Category:Paranormal collaboration candidates
COLL_CURRENT_CAT – jika didefinisikan, halaman menggunakan |current=yes akan dikategorikan ke dalam kategori ini, e.g. |COLL_CURRENT_CAT=Paranormal collaborations → Category:Paranormal collaborations
COLL_PAST_CAT – jika didefinisikan, halaman menggunakan |past=yes akan dikategorikan ke dalam kategori ini, e.g. |COLL_PAST_CAT=Past paranormal collaborations → Category:Past paranormal collaborations
Fitur ini memungkinkan proses peninjauan Kelas A diintegrasikan ke dalam banner proyek. Parameter berikut digunakan:
Parameter yang diperlukanParameter yang diperlukan
a class – the parameter that will trigger the note. Accepted values are "pass", "fail", "current" (any capitalisation); everything else is treated as null. Eg: a class={{{A-Class|}}}
ACR_SUBPAGE_LINK – the full link to where the review for this particular article is held. Eg: Wikipedia:WikiProject Tulips/Assessment/{{SUBJECTPAGENAME}}
ACR_REVIEW_LINK – the full link to the main A-Class review page (where instructions etc. are held). Eg: Wikipedia:WikiProject Tulips/Review#A-Class review
ACR_IMAGE – gambar khusus dapat diatur, menggunakan sintaksis yang sama seperti gambar catatan lainnya. Eg: Exquisite-kfind.png
ACR_SIZE – ukuran gambar khusus dapat diatur, menggunakan sintaks catatan biasa. Eg: 20x20px
ACR_INVALID_CAT – halaman yang menentukan parameter Kelas A tanpa valid SUBPAGE_LINK Halaman yang ada akan dikategorikan ke dalam kategori ini.
ACR_PRELOAD – templat pramuat, untuk digunakan saat membuat halaman diskusi tinjauan kelas A baru (example).
Kategori gugus tugas tambahanKategori gugus tugas tambahan
Terkadang, perlu untuk mengisi kategori tambahan ketika gugus tugas tertentu digunakan. Misalnya, |attention= Parameter ini digunakan untuk menarik perhatian pada artikel-artikel yang membutuhkan perhatian segera dalam proyek bersepeda. Artikel-artikel dalam lingkup Tour de France task force mengisi kategori tambahan Category:Tour de France articles needing attention.
Hal ini dapat dicapai dengan menggunakan kode berikut:
{{#invoke:WikiProject banner|main
...
|tf 2={{{tdf|}}}|TF_2_LINK = Wikipedia:WikiProject Cycling/Tour de France task force
...
|tf 2 cat 1={{{attention|}}}|TF_2_CAT_1 = Tour de France articles needing attention
|tf 2 cat 2={{{needs-infobox|}}}|TF_2_CAT_2 = Tour de France articles needing infoboxes
}}
Fitur ini memungkinkan proses peer review diintegrasikan ke dalam banner proyek. Parameter berikut digunakan:
Required parametersRequired parameters
peer review – parameter yang akan memicu catatan tinjauan sejawat aktif; harus diteruskan, e.g. |peer review={{{peer-review|}}}
old peer review – parameter yang akan memicu catatan tinjauan sejawat lama; harus diteruskan, e.g. |old peer review={{{old-peer-review|}}}
PR_LINK – tautan lengkap tempat ulasan untuk artikel khusus ini disimpan, e.g. |PR_LINK=Wikipedia:WikiProject Tulips/Assessment
Parameter opsionalParameter opsional
PR_IMAGE – nama gambar yang akan digunakan. Jika tidak ditentukan, maka digunakan.
PR_CAT – jika didefinisikan, halaman menggunakan |peer review=yes akan dikategorikan ke dalam kategori ini, e.g. |PR_CAT=Requests for Tulips peer review → Category:Requests for Tulips peer review
PR_OLD_CAT – jika didefinisikan, halaman menggunakan |old peer review=yes akan dikategorikan ke dalam kategori ini.
peer review title – Jika halaman telah dipindahkan sejak ditinjau, berikan parameter ini untuk menentukan judul halaman lama (yang ulasannya diarsipkan di bawah) untuk membuat tautan mengarah dengan benar ke ulasan.
PR_INVALID_CAT – jika didefinisikan, halaman tanpa halaman tinjauan sejawat yang valid akan dikategorikan ke dalam kategori ini.
Modul ini menggunakan mask untuk menormalkan nilai yang diberikan ke |class= parameter, untuk memastikan bahwa input yang tidak valid dibuang (e.g. |class=cheesecake) dan masukan yang setara tampak sama (e.g. |class=AP dan |class=aP). Masker ini secara efektif mengontrol nilai skala penilaian lanjutan mana yang diterima oleh templat (e.g. "Kelas-Templat", "Kelas-Pengalihan", etc.). Proyek yang ingin menggunakan kelas penilaian yang lebih tidak jelas (e.g. "Keals-Masa depan", "Bplus-Class", etc.) atau ke bukan gunakan semua kelas standar (e.g. tidak menggunakan "Kelas-C") dapat menentukan masker kustom mereka sendiri, yang akan menggantikan masker default. Untuk mencapai hal ini, buat templat masker di/subhalaman kelas dari template banner proyek Anda dan atur |QUALITY_CRITERIA=custom. Perhatikan bahwa ini akan menghapus proyek dari project-independent quality assessments, dan tidak ada penilaian yang akan diwarisi dari proyek lain.
Spanduk WikiProject yang tidak aktifSpanduk WikiProject yang tidak aktif
Sejumlah WikiProject telah diidentifikasi sebagai tidak aktif atau mati (lihat Inactive WikiProjects). Dalam hal ini, spanduk proyek dapat dibuat dengan bentuk yang lebih sederhana. Menyimpan templat proyek yang tidak aktif di halaman pembicaraan yang relevan akan membantu kelompok pengguna mana pun yang nantinya ingin menghidupkan kembali proyek tersebut. Templat ini akan mengategorikan spanduk proyek secara otomatis ke dalam Inactive WikiProject banners.
Cara termudah untuk mengubah template banner menjadi status tidak aktif adalah dengan mengganti main dengan tidak aktif.
ParameterParameter
Satu-satunya parameter yang diperlukan adalah |PROJECT= - nama WikiProject (tapi tanpa kata "ProyekWiki")
Parameter tambahan |PROJECT_STATUS= dapat digunakan untuk mengidentifikasi status proyek yang tidak aktif. Nilai yang diakui saat ini adalah tidak aktif dan mati. Defaultnya tidak aktif.
Semua parameter lainnya dapat dan harus dipertahankan, karena ini akan memudahkan untuk "membangkitkan" proyek di masa depan.
Artikel ini berada dalam cakupan WikiProject Olahraga ekstrim, sebuah proyek yang saat ini dianggap tidak aktif.Olahraga ekstrimWikipedia:WikiProject Olahraga ekstrimTemplat:WikiProject Olahraga ekstrimOlahraga ekstrim
Ketika berada di dalam shell banner hasilnya adalah:
Artikel ini merupakan bagian dari ProyekWiki berikut ini:
Artikel ini berada dalam cakupan WikiProject Olahraga ekstrim, sebuah proyek yang saat ini dianggap tidak aktif.Olahraga ekstrimWikipedia:WikiProject Olahraga ekstrimTemplat:WikiProject Olahraga ekstrimOlahraga ekstrim
Artikel ini berada dalam cakupan WikiProject Kebijakan dan Pedoman, sebuah proyek yang saat ini dianggap tidak aktif.Kebijakan dan PedomanWikipedia:WikiProject Kebijakan dan PedomanTemplat:WikiProject Kebijakan dan PedomanKebijakan dan Pedoman
Ketika berada di dalam shell banner hasilnya adalah:
Artikel ini merupakan bagian dari ProyekWiki berikut ini:
Artikel ini berada dalam cakupan WikiProject Kebijakan dan Pedoman, sebuah proyek yang saat ini dianggap tidak aktif.Kebijakan dan PedomanWikipedia:WikiProject Kebijakan dan PedomanTemplat:WikiProject Kebijakan dan PedomanKebijakan dan Pedoman
require('strict')localp={}localsandbox-- = '/sandbox' -- BE SURE TO COMMENT OUT this definition when deploying to livelocalcfg=mw.loadData('Modul:WikiProject banner/config'..(sandboxor''))localauxiliary=cfg.auxiliary_module..(sandboxor'')localargs_module=require('Modul:Arguments')localmbox=require('Modul:Message box').mainlocalyesno=require('Modul:Yesno')localframe=mw.getCurrentFrame()locallang=mw.getLanguage(cfg.language)localcurrent_title=mw.title.getCurrentTitle()localparameter_format=function(parameter,value)returnframe:expandTemplate{title='para',args={parameter,valueor''}}endlocalwikilink=function(link,display)iflinkthenreturndisplayand'[['..link..'|'..display..']]'or'[['..link..']]'elsereturndisplayor''endendlocaldisplay_error=function(text)localspan=mw.html.create('div'):addClass('error'):wikitext(text)returntostring(span)endlocalimage=function(image_name,size,alt,position)returnimage_nameand'[[File:'..image_name..(sizeand'|'..sizeor'')..(positionand'|'..positionor'')..(altand'|alt='..altor'')..']]'endlocalif_exists=function(target,fallback)-- function to add wikilink if target existslocaltitle=mw.title.new(target)iftitleandtitle.existsthenreturnwikilink(target)elsereturnfallbackortargetendendlocalimportance_mask=function(importance,scale,banner_name,pagetype,class)----------------------------- Importance mask -----------------------------------localimportance_normalisedifscale=='inline'then-- pass importance without changeimportance_normalised=importanceor''elseifscale=='subpage'thenlocalcustom_mask=banner_name:subPageTitle('importance')ifcustom_mask.existsand#custom_mask:getContent()>1then-- pass to custom importance maskimportance_normalised=mw.text.trim(frame:expandTemplate{title=custom_mask.prefixedText,args={importance=importance,class=class,pagetype=pagetype}})endelse-- standard importance scaleimportance_normalised=cfg.importance.naifpagetype=='article'orpagetype=='set index article'orpagetype=='redirect'orpagetype=='draft'thenlocalmask=cfg.importance.maskifimportanceandmask[importance:lower()]then-- valid importance specifiedimportance_normalised=mask[importance:lower()]elseifpagetype=='article'orpagetype=='set index article'then-- unspecified or invalid importance, use "Unknown" for articlesimportance_normalised=cfg.importance.unknownendendendreturnimportance_normalisedend----------------------------- Quality class mask --------------------------------p.readarticleclass=function(options,page)-- used by _main and also Modul:Banner shellpage=pageorcurrent_title.prefixedTextlocalget_parameter_value=require('Modul:Template parameter value').getParameterlocalsuccess,result=get_parameter_value(page,cfg.banner_shell.redirects,'class',options)returnsuccessandresult-- returns FALSE if banner shell template does not exist on page-- returns BLANK if class parameter is not defined or is defined blank-- otherwise returns class parameterendp.class_mask=function(class,title,FQS,pagetype,article)localresolveFQSgrade=function(class)returnFQSandlang:ucfirst(class)or'NA'endlocalouttitle=titleormw.title.getCurrentTitle()localns=title.namespaceclass=class:match('^%s*(.-)%s*$'):lower()ifpagetype=='redirect'orpagetype=='soft redirect'thenout=resolveFQSgrade('redirect')elseifpagetype=='disambiguation page'thenout=resolveFQSgrade('disambig')elseifarticleorpagetype=='article'orpagetype=='set index article'thenifpagetype=='set index article'thenout='List'elseifclass=='start'orclass=='stub'then-- Ucfirstout=lang:ucfirst(class)elseifclass=='b'orclass=='c'orclass=='fa'orclass=='fl'orclass=='a'orclass=='ga'then-- Upper-caseout=class:upper()elseifclass=='list'orclass=='sia'orclass=='si'orclass=='sl'then-- Listout='List'elseout=''-- unassessedendelseifns==7orns==711then-- File talkifclass=='fm'thenout='FM'elseout=resolveFQSgrade('file')endelselocalgrade=cfg.quality.ns_to_class[ns]or'NA'out=resolveFQSgrade(grade)endreturnoutendlocalpage_assessment=function(project,class,importance)-- add PageAssessments parser functionlocalassessment=table.concat({project,classor'',importanceor''},'|')frame:preprocess('{{#assessment:'..assessment..'}}')endlocalbubble=function(text,style)localout=mw.html.create('span'):addClass('wpb-header-bubbles'):addClass(style):wikitext(text)returntostring(out)endp._main=function(args,raw_args,demo_page,banner_name,inactive)----------------------------- Initialise parameters -----------------------------localproject=args.PROJECTor'PROJECT'localproject_name=args.PROJECT_NAMEor'WikiProject '..projectlocalproject_link=mw.title.new(args.PROJECT_LINKor'Wikipedia:'..project_name)localpagetype=demo_page==trueand'article'orrequire('Modul:Pagetype')._main({page=demo_page,dab='disambiguation page',sia='set index article',draft='draft'})localarticle=pagetype=='article'orpagetype=='set index article'localrows,nested_ratings,task_forces,notes,categories,taskforce_categories={},{},{},{},{},{}localadd_category=function(category,key)ifcategoryandcategory~='none'thentable.insert(categories,{category=category,key=key})endendlocalparse_pt=function(text)-- function to replace _PAGETYPE_ with the actual page typelocalptype=articleand'article'orpagetype-- display "article" for articles otherwise page typereturntextandtext:gsub('_PAGETYPE_',ptype)endforarg_name,arg_valueinpairs(args)dolocaltf_match=mw.ustring.match(arg_name,'^tf (%d+)$')localnote_match=mw.ustring.match(arg_name,'^note (%d+)$')iftf_matchandyesno(arg_value,true)thentable.insert(task_forces,tf_match)elseifnote_matchandyesno(arg_value,true)thentable.insert(notes,note_match)elselocaltf,cat=mw.ustring.match(arg_name,'^tf (%d+) cat (%d+)$')iftfandyesno(arg_value,true)thenifnottaskforce_categories[tf]then-- initialise tabletaskforce_categories[tf]={}endtable.insert(taskforce_categories[tf],cat)endendendtable.sort(task_forces,function(x,y)returntonumber(x)<tonumber(y)end)table.sort(notes,function(x,y)returntonumber(x)<tonumber(y)end)localassessment_category=function(cat,name)ifcatthenreturncat:gsub(' articles','')-- remove "articles" from categoryelsereturnnameor''endendlocalassessment_cat=assessment_category(args.ASSESSMENT_CAT,project)----------------------------- Location warning ----------------------------------localwarning=''ifnotcurrent_title.isTalkPageandnotdemo_pagethenlocaltext=cfg.namespace_warning.text:format(current_title.talkPageTitle.fullText,parameter_format('category','no'))localsortkey=current_title.namespace==10andcfg.namespace_warning.sortkey_on_template_pageorcfg.namespace_warning.sortkeyifcurrent_title.namespace==10then-- on the Template namespacetext=text..' '..cfg.namespace_warning.on_template_page:format(parameter_format('BANNER_NAME'),current_title.prefixedText)endwarning=mbox('ombox',{image='[[File:'..cfg.namespace_warning.image..'|40px]]',type=cfg.namespace_warning.type_,text=parse_pt(text)})ifnotcurrent_title.subjectPageTitle:inNamespace(2)thenadd_category(cfg.namespace_warning.categories,sortkey)endend----------------------------- Substitution warning ------------------------------ifargs.substcheck=='SUBST'thenlocaltext=cfg.subst_warning.text:format(project_name,'<code>{{'..banner_name.prefixedText..'}}</code>')warning=warning..mbox('ombox',{image='[[File:'..cfg.subst_warning.image..'|40px]]',type=cfg.subst_warning.type_,text=text,})..cfg.subst_warning.categoriesend----------------------------- Primary image/text --------------------------------localprimary_image=function(image_name,size)localcell=mw.html.create('td')ifimage_nameandimage_name~=''thencell:addClass('mbox-image wpb-image'):wikitext(image(image_name,size,cfg.image.alt))elsecell:addClass('mbox-empty-cell')endreturncellendlocalportal=args.PORTALlocalportal_box=portalandframe:expandTemplate{title='Portal',args={portal}}or''localmain_text=portal_box..parse_pt(args.MAIN_TEXTorcfg.main_text:format(project_link.prefixedText,project_name,args.MAIN_ARTICLEandif_exists(args.MAIN_ARTICLE)orif_exists(project,project..' articles'),project_link.talkPageTitle.prefixedText))localimage_left_size=args.IMAGE_LEFT_SIZEorcfg.image.default_sizelocalmetadata=function(class,data)returnmw.html.create('span'):addClass(class):wikitext(data)endlocaltext_cell=mw.html.create('td'):addClass('mbox-text'):wikitext(main_text):tag('span'):addClass('metadata wpb-metadata'):node(metadata('wpb-project',project)):node(metadata('wpb-project_link',project_link.prefixedText)):node(metadata('wpb-banner_name',banner_name.prefixedText)):node(metadata('wpb-assessment_cat',assessment_cat)):done()localprimary_row=mw.html.create('tr'):node(primary_image(args.IMAGE_LEFT,image_left_size)):node(text_cell):node(primary_image(args.IMAGE_RIGHT,args.IMAGE_RIGHT_SIZEorcfg.image.default_size))table.insert(rows,primary_row)----------------------------- Banner shell checks -------------------------------localtitle=demo_pageanddemo_page~=trueandmw.title.new(demo_page)orcurrent_titlelocalclass=p.readarticleclass({ignore_subtemplates=true},title.prefixedText)ifclassthen-- banner shell existslocalspecial_chars='([%%%(%)%.%+%-%*%?%[%]%^%$])'localbanner_name_escaped=banner_name.textlocalpage_content=require('Modul:Wikitext Parsing'..(sandboxor'')).PrepareText(title:getContent())-- get content of current pagelocalcontent_without_shellforcaptureinmw.ustring.gmatch(page_content,'%b{}')do-- look for possible templates on pagefor_,redirectinipairs(cfg.banner_shell.redirects)doifmw.ustring.find(capture,'^{{%s*'..redirect..'%s*[|}].*}}$')then-- found a banner shellbanner_name_escaped=banner_name_escaped:gsub(special_chars,'%%%1')-- escape each special charactercapture=capture:gsub(special_chars,'%%%1')content_without_shell=mw.ustring.gsub(page_content,capture,'')-- remove banner shell content from page contentendifcontent_without_shellthenbreakendendifcontent_without_shellthenbreakendendlocaltemplate_outside_shellifcontent_without_shellandmw.ustring.find(content_without_shell,'{{%s*'..banner_name_escaped..'%s*[|}]')then-- found banner template outside of the shelladd_category(cfg.banner_shell.category.outside_shell)endelse-- no banner shell on pageiftitle.namespace==3then--User talk namespacefor_,userinipairs(cfg.banner_shell.valid_users)doifstring.find(title.rootText,user)thenadd_category(cfg.banner_shell.category.no_banner_shell)endendelseiftitle.namespace~=2then-- not in user namespaceadd_category(cfg.banner_shell.category.no_banner_shell)endclass=''end----------------------------- Quality assessment --------------------------------localassessment_link=args.ASSESSMENT_LINKifnotassessment_linkthenlocalfallback=mw.title.new(project_link.prefixedText..'/Assessment')assessment_link=fallback.existsandfallback.prefixedTextelseifassessment_link=='no'thenassessment_link=nilendlocalcheck_fallbacks=function(class,category)-- function to check non-article classes and automatically fall back to NA (or other) class if category does not existifarticleorargs.QUALITY_CRITERIA=='custom'then-- no fallbacks for articles or projects with custom quality scalesreturnclasselse-- check fallbacks for non-article classeslocalnew_class=classlocalcategory_exists=function(class)localcat=mw.title.new(cfg.quality.assessment_category:format(class,category..' '..(articleand'articles'or'pages')))returncat.existsand#cat:getContent()>0-- check if category exists and is not blankendifclass=='FM'andnotcategory_exists('FM')thennew_class='File'-- fall back to File-class if FM category does not existendifnotcategory_exists(new_class)thennew_class='NA'-- use NA for non-article pages if category does not existendreturnnew_classendendifraw_args.classthen-- banner gives quality ratingsclass=classandp.class_mask(class,title,true,pagetype,article)-- put PIQA class through standard class maskifargs.QUALITY_CRITERIA=='custom'then-- project has opted out of standard assessment scale and uses a custom masklocalproject_classlocalcustom_mask=banner_name:subPageTitle('class')ifcustom_mask.existsand#custom_mask:getContent()>1thenraw_args.demo_page=demo_page-- send demo_page to custom maskproject_class=mw.text.trim(frame:expandTemplate{title=custom_mask.prefixedText,args=raw_args})ifproject_class==''andclassandclass~=''then-- if unassessed and PIQA class exists, check if it can be inheritedlocalnew_arg_table={}forarg,valinpairs(raw_args)do-- construct new argument table to send to custom masknew_arg_table[arg]=valendnew_arg_table.class=class-- replace class with inherited classproject_class=mw.text.trim(frame:expandTemplate{title=custom_mask.prefixedText,args=new_arg_table})-- inherit project class from PIQA class normalised by custom maskendlocalcategory=(project_class==''and'Unassessed'orproject_class..'-Class')..' '..assessment_cat..' '..(articleand'articles'or'pages')add_category(category)ifclass~=project_classthen-- display project class in bannerclass=project_classlocalrating=project_class==''andcfg.quality.not_yetorcfg.quality.rated:format(class)localscale=cfg.quality.project_scale:format(wikilink((assessment_linkor'')..'#'..lang:ucfirst(cfg.quality.name),cfg.quality.name))localcssClass='class-'..(class==''and'unassessed'orclass:lower())localclass_row=mw.html.create('tr'):tag('td'):addClass('assess'):addClass(cssClass):wikitext(wikilink(':Kategori:'..category,class==''and'???'orclass)):done():tag('td'):addClass('mbox-text'):attr('colspan','2'):wikitext(parse_pt(cfg.quality.rating:format(rating,scale))):done()table.insert(rows,class_row)table.insert(nested_ratings,1,bubble(class==''and'Unassessed'or(class..'‑class'),cssClass))endendelse-- project uses standard PIQA assessmentclass=check_fallbacks(class,assessment_cat)-- check fallbacks for non-article classeslocalcategory=(class==''and'Unassessed'or(class..'-Class'))..' '..assessment_cat..' '..(articleand'articles'or'pages')add_category(category)ifraw_args.class~=''then-- page has a non-blank class value which is ignoredadd_category(cfg.banner_shell.category.ignored_class)endendendifargs.HOOK_ASSESSthentable.insert(rows,args.HOOK_ASSESS)endifraw_args.b1orraw_args.b2orraw_args.b3orraw_args.b4orraw_args.b5orraw_args.b6thenlocalb_checklist=require(auxiliary).b_checklist(args,raw_args,class,demo_page,assessment_link)table.insert(rows,b_checklist)end----------------------------- Priority assessment -------------------------------localimportancelocalimportance_name=args.IMPNor(raw_args.priorityand'priority'orcfg.importance.default_name)ifraw_args.importanceorraw_args.prioritythen-- banner gives priority ratingsimportance=importance_mask(args.importanceorargs.priority,args.IMPORTANCE_SCALE,banner_name,pagetype,class)localcategory=importance..'-'..importance_name..' '..assessment_cat..' '..(importance=='NA'and'pages'or'articles')ifimportance~='NA'then-- display importance ratinglocalrating=importance=='Unknown'andcfg.importance.not_yetorcfg.importance.rated:format(importance,importance_name)localscale=assessment_linkandcfg.importance.project_scale:format(assessment_link..'#'..lang:ucfirst(cfg.importance.scale:format(importance_name)),cfg.importance.scale:format(importance_name))orcfg.importance.default_scalelocalimportance_rating=parse_pt(cfg.importance.rating:format(rating,scale))localcssClass='import-'..importance:lower()localimportance_row=mw.html.create('tr'):tag('td'):addClass('assess'):addClass(cssClass):wikitext(wikilink(':Kategori:'..category,importance=='Unknown'and'???'orimportance)):done():tag('td'):addClass('mbox-text'):attr('colspan','2'):wikitext(importance_rating):done()table.insert(rows,importance_row)ifimportance~='Unknown'then-- importance is not NA or Unknowntable.insert(nested_ratings,bubble(importance..'‑'..importance_name,cssClass))endendadd_category(category)ifargs.QII_FORMATthenadd_category(require(auxiliary).quality_importance_insection(args,class,importance,importance_name,assessment_cat,article))endendifclassorimportancethenpage_assessment(project,class,importance)endifargs.HOOK_IMPORTANCEthentable.insert(rows,args.HOOK_IMPORTANCE)end----------------------------- Collapsing sections -------------------------------localcollapse_section=function(collapse,new_rows,header)ifcollapsethenlocalheader_row=mw.html.create('tr'):tag('th'):attr('colspan','3'):addClass('wpb-collapsed-head'):wikitext(header):done()localblank_row=mw.html.create('tr'):tag('td'):addClass('mbox-image wpb-gutter'):css('min-width',image_left_size):tag('span'):addClass('wpb-iefix'):wikitext('/ '):done()--TO FIX IE:done():tag('td'):done():tag('td'):done()localcollapsed_rows=mw.html.create('table'):addClass('mw-collapsible mw-collapsed'):node(header_row):node(blank_row)for_,rowinipairs(new_rows)docollapsed_rows:node(row)endlocalcollapsed_section=mw.html.create('tr'):tag('td'):attr('colspan','3'):addClass('wpb-collapsed-notes'):node(collapsed_rows):done()table.insert(rows,collapsed_section)elsefor_,rowinipairs(new_rows)dotable.insert(rows,row)endendend----------------------------- Task forces ---------------------------------------localnested_tf,taskforce_output={},{}localtf_default_size=args.TF_SIZEorcfg.task_force.default_sizefor_,kinipairs(task_forces)dolocaltf_prefix='TF_'..k..'_'localtf_assessment_cat=assessment_category(args[tf_prefix..'ASSESSMENT_CAT'],args[tf_prefix..'NAME'])ifyesno(args[tf_prefix..'QUALITY'])andclassthenlocaltf_class=check_fallbacks(class,tf_assessment_cat)add_category((tf_class==''and'Unassessed'ortf_class..'-Class')..' '..tf_assessment_cat..' '..(articleand'articles'or'pages'))endlocaltf_importance,tf_importance_categoryifraw_args['tf '..k..' importance']thentf_importance=importance_mask(args['tf '..k..' importance'],args.IMPORTANCE_SCALE,banner_name,pagetype,class)iftf_importance=='Unknown'andyesno(args.INHERIT_IMPORTANCE)thentf_importance=importanceendtf_importance_category=tf_importance..'-'..importance_name..' '..tf_assessment_cat..' '..(tf_importance=='NA'and'pages'or'articles')add_category(tf_importance_category)endifargs[tf_prefix..'TEXT']~='none'thenlocalportal=args[tf_prefix..'PORTAL']andframe:expandTemplate{title='Portal',args={args[tf_prefix..'PORTAL'],height='15',margin='0'}}or''localtext=''localtf_text=args[tf_prefix..'TEXT']orargs.TF_TEXTiftf_textthentext=portal..tf_text:gsub('_NAME_',args[tf_prefix..'NAME']or''):gsub('_LINK_',args[tf_prefix..'LINK']or''):gsub('_IMPORTANCE_',tf_importanceor'')elselocaltf_importance_text=tf_importanceandtf_importance~='NA'andtf_importance~='Unknown'and' '..cfg.task_force.importance:format(wikilink(':Kategori:'..tf_importance_category,tf_importance..'-'..importance_name))or''text=portal..cfg.task_force.text:format(wikilink(args[tf_prefix..'LINK'],args[tf_prefix..'NAME']),tf_importance_text)endlocaltf_size=args[tf_prefix..'SIZE']ortf_default_sizelocaltf_image=''ifargs[tf_prefix..'IMAGE']thentf_image=image(args[tf_prefix..'IMAGE'],tf_size,cfg.task_force.icon_alt,'center')endlocaltaskforce=mw.html.create('tr'):tag('td'):wikitext(tf_image):done():tag('td'):addClass('mbox-text'):attr('colspan','2'):wikitext(parse_pt(text)):done()table.insert(taskforce_output,taskforce)endifargs[tf_prefix..'HOOK']thentable.insert(taskforce_output,args[tf_prefix..'HOOK'])endifargs[tf_prefix..'QII_FORMAT']thenadd_category(require(auxiliary).quality_importance_insection(args,class,tf_importance,importance_name,tf_assessment_cat,article,tf_prefix))endifargs[tf_prefix..'NAME']thenpage_assessment(project..'/'..args[tf_prefix..'NAME'],class,tf_importance)endifargs[tf_prefix..'MAIN_CAT']thenadd_category(args[tf_prefix..'MAIN_CAT'])endifargs[tf_prefix..'NESTED']thentable.insert(nested_tf,wikilink(args[tf_prefix..'LINK'],args[tf_prefix..'NESTED']))endfor_,cinipairs(taskforce_categories[k]or{})do-- add additional taskforce categoriesadd_category(args[tf_prefix..'CAT_'..c])endendifargs.HOOK_TFthentable.insert(taskforce_output,args.HOOK_TF)endlocalthreshold=tonumber(args.TF_COLLAPSE)or(args.TF_HEADERandcfg.task_force.lower_threshold)orcfg.task_force.upper_thresholdcollapse_section(#taskforce_output>threshold,taskforce_output,args.TF_HEADERorcfg.task_force.header)----------------------------- Notes ---------------------------------------------localnote_output={}localnote_default_size=args.NOTE_SIZEorargs.NOTE_1_SIZEorcfg.note.default_sizelocalrender_note=function(note_args)--text, image_name, size, category, sort_prefixlocalsort=note_args.sort_prefixandnote_args.sort_prefix..current_title.textadd_category(note_args.category,sort)add_category(note_args.category2,sort)ifnote_args.textthenlocalnote_image=image(note_args.image_name,note_args.sizeornote_default_size,cfg.note.icon_alt,'center')localnew_note=mw.html.create('tr'):tag('td'):css('background',note_args.background):wikitext(note_image):done():tag('td'):addClass('mbox-text'):attr('colspan','2'):wikitext(parse_pt(note_args.text)):done()table.insert(note_output,new_note)ifnote_imagethenlocalicon=mw.html.create('span'):addClass('wpb-header-bubbles'):wikitext('[[File:'..note_args.image_name..'|'..cfg.note.header_icon..'|'..parse_pt(note_args.text)..'|alt=icon]]')table.insert(nested_ratings,tostring(icon))endendendlocalauto=falselocalauto_arg=args.autoandargs.auto:lower()if(auto_arg=='yes'orauto_arg=='stub')andclass=='Stub'thenauto='stub'elseif(auto_arg=='inherit'orauto_arg=='length')andclassandclass~=''thenauto=auto_argendifautothenlocalauto_cat=args.AUTO_ASSESS_CATorcfg.auto.default_cat:format(project)localauto_text=cfg.auto.assessed:format(cfg.auto[auto],-- method of automatic assessmentparameter_format('auto'))localsort_prefixifauto=='stub'thensort_prefix='S'elseifauto=='length'thensort_prefix='L'elseifauto=='inherit'thenlocalsort_codes=cfg.auto.sort_codessort_prefix=sort_codes[class]orcfg.auto.default_sort_codeendrender_note{text=auto_text,image_name=cfg.auto.icon,category=auto_cat,sort_prefix=sort_prefix}endifyesno(args.attention,true)thenlocalattention_cat=args.ATTENTION_CATorcfg.attention.default_cat:format(project)render_note{text=cfg.attention.text,image_name=cfg.attention.icon,category=attention_cat}endifyesno(args.infobox,true)thenlocalinfobox_cat=args.INFOBOX_CATorcfg.infobox.default_cat:format(project)render_note{text=cfg.infobox.text,image_name=cfg.infobox.icon,category=infobox_cat}endfor_,kinipairs(notes)dolocalnote_prefix='NOTE_'..k..'_'render_note{text=parse_pt(args[note_prefix..'TEXT']),image_name=args[note_prefix..'IMAGE'],size=args[note_prefix..'SIZE'],category=args[note_prefix..'CAT']}endifyesno(args['image-needed'],true)thenlocalimage_needed_args=require(auxiliary).image_needed(args)render_note(image_needed_args)endifyesno(args['collaboration-candidate'],true)oryesno(args['collaboration-current'],true)oryesno(args['collaboration-past'],true)thenlocalcollaboration_args=require(auxiliary).collaboration(args,current_title)render_note(collaboration_args.candidate)render_note(collaboration_args.current)render_note(collaboration_args.past)endifyesno(args['a class'],true)thenlocala_class_args=require(auxiliary).a_class(args,lang)render_note(a_class_args)endifyesno(args['peer review'],true)oryesno(args['old peer review'],true)thenlocalpeer_review_args=require(auxiliary).peer_review(args,current_title)render_note(peer_review_args.current)render_note(peer_review_args.past)endlocalnote_count=#note_outputifargs.HOOK_NOTEthentable.insert(note_output,args.HOOK_NOTE)localhook_collapsed=0ifargs.HOOK_COLLAPSEDthenlocalsuccess,result=pcall(mw.ext.ParserFunctions.expr,args.HOOK_COLLAPSED)hook_collapsed=successandtonumber(result)or0ifargs.HOOK_COLLAPSED=='auto'thenhook_collapsed=1endendnote_count=note_count+hook_collapsedendcollapse_section(note_count>(tonumber(args.COLLAPSED)orcfg.note.threshold),note_output,args.COLLAPSED_HEADorcfg.note.header)----------------------------- Bottom text ---------------------------------------ifargs.HOOK_BOTTOMthentable.insert(rows,args.HOOK_BOTTOM)endifargs.TODO_LINKorargs.TODO_TEXTthenlocaltodolist=require(auxiliary).todo_list(args,frame)table.insert(rows,todolist)endifargs.BOTTOM_TEXTthenlocalbottom_text=mw.html.create('tr'):tag('td'):attr('colspan','3'):wikitext(parse_pt(args.BOTTOM_TEXT)):done()table.insert(rows,bottom_text)endifargs.MAIN_CATthenadd_category(args.MAIN_CAT)end----------------------------- Nested display ------------------------------------ifargs.HOOK_NESTEDthenlocalhook_nested=args.HOOK_NESTED:gsub('^ / ','')-- remove initial slash, will be added latertable.insert(nested_tf,hook_nested)endlocalnested_tf_str=''if#nested_tf>0thennested_tf_str=tostring(mw.html.create('span'):addClass('wpb-nested-task-force'):wikitext(': '..table.concat(nested_tf,' / ')))endlocalnested_ratings_str=#nested_ratings>0andtable.concat(nested_ratings,' ')or''ifargs.HOOK_NESTED_ASSESSthennested_ratings_str=nested_ratings_str..tostring(mw.html.create('span'):addClass('wpb-header-bubbles'):wikitext(args.HOOK_NESTED_ASSESS))endlocalheader_row=mw.html.create('tr'):addClass('wpb-header'):tag('td'):addClass('wpb-header-icon'):wikitext(image(args.IMAGE_LEFT,cfg.image.header_size,cfg.image.alt)):done():tag('td'):addClass('wpb-header-combined'):wikitext(wikilink(project_link.prefixedText,project)..nested_tf_str..' '..nested_ratings_str):done()----------------------------- Prepare categories --------------------------------localcategories_formatted=''ifdemo_pageanddemo_page~=truethen-- for testing purposeslocalcategory_list=mw.html.create('ul')for_,catinipairs(categories)dolocalitem=mw.html.create('li'):wikitext(wikilink(':Kategori:'..cat.category,cat.category))category_list:node(item)endlocalcategory_box=mw.html.create('div'):addClass('wpb-category-box'):wikitext('Categories:'):node(category_list)categories_formatted=tostring(category_box)elseifnotdemo_pagethenlocalcategories_linked={}for_,catinipairs(categories)dolocalcat_link=wikilink('Kategori:'..cat.category,cat.key)table.insert(categories_linked,cat_link)endcategories_formatted=table.concat(categories_linked)end----------------------------- Make banner ---------------------------------------localbanner_rows=mw.html.create('table')for_,rowinipairs(rows)dobanner_rows:node(row)endlocalbanner=mw.html.create('table'):addClass('tmbox tmbox-notice mw-collapsible innercollapse wpb wpb-table'):addClass(inactiveandcfg.inactive.classornil):node(header_row):tag('tr'):tag('td'):addClass('mbox-text wpb-main'):attr('colspan','2'):node(banner_rows):allDone()localtstyle=frame:extensionTag('templatestyles','',{src='Modul:Message box/tmbox.css'})..frame:extensionTag('templatestyles','',{src='Modul:WikiProject banner'..(sandboxor'')..'/styles.css'})returnwarning..tstyle..tostring(banner)..categories_formatted,note_count,#taskforce_output,assessment_linkendlocalinitialise=function(args,raw_args,inactive_status)----------------------------- Initialise arguments ------------------------------localparent_args=args_module.getArgs(frame,{parentOnly=true})localcategory=parent_args.categoryorargs.categoryortruelocaldemo_page=parent_args.demo_pagelocalconfig,projectifargs.projectthen-- check for config pageproject=args.projectlocalconfig_file=mw.title.new('Templat:WikiProject '..args.project..'/config')ifconfig_file.existsthenconfig=mw.loadJsonData(config_file.fullText)elsereturnnilendendifconfigthen-- use config fileifparent_args.taskforcethen-- split comma-separated listfortaskforceinmw.text.gsplit(parent_args.taskforce,',%s*')doparent_args[taskforce]='yes'endendargs,raw_args=require(auxiliary).map_config(config,parent_args)-- map parameters from config pageargs.PROJECT=projectendlocalon_template_page=falselocalbanner_name=mw.title.new(args.BANNER_NAMEor'Template:WikiProject '..(args.PROJECTor'PROJECT'))ifnotdemo_pagethenifyesno(category,true)thenon_template_page=current_title.rootPageTitle==banner_name.rootPageTitleelsedemo_page=trueendendlocalproject_name=args.PROJECT_NAMEor'WikiProject '..(args.PROJECTor'PROJECT')localunknown_parameters=''ifbanner_name.existsandnotdemo_pagethen-- check for unknown parameterslocalparameter_list={}forparameterinbanner_name:getContent():gmatch('{{{([^|}]+)')doparameter_list[parameter]=trueendifparameter_list.importance==truethen-- add priority as a valid alias of importanceparameter_list.priority=trueendifargs.QUALITY_CRITERIA~='custom'then-- class is unrecognised, so remove from listparameter_list.class=falseendparameter_list.listas=false-- remove listas even if parameter used (should be in banner shell)localparameters,paramer_list={}fork,vinpairs(parameter_list)doifvthentable.insert(parameters,k)endendparameters.showblankpositional="1"localcheck_for_unknown=require('Modul:Check for unknown parameters')._checklocalunknowns=check_for_unknown(parameters,parent_args)ifunknownsandunknowns~=''then-- there are some unknown parametersparameters.preview=cfg.unknown_parameters.preview:format(wikilink(banner_name.fullText))localunknown_category=cfg.unknown_parameters.tracking:format(project_name)ifnotmw.title.new(unknown_category).existsthenunknown_category=cfg.unknown_parameters.defaultendparameters.unknown=unknown_categoryand'[['..unknown_category..'|_VALUE_]]'or''unknown_parameters=check_for_unknown(parameters,parent_args)endendifnotargs.importancethen-- allow priority to be used even by banners which don't support itargs.importance=parent_args.priorityendifon_template_pagethenlocaltemplatepage=require('Modul:WikiProject banner/templatepage'..(sandboxor'')).templatepagereturntemplatepage(args,raw_args,inactive_status,config)elsereturnunknown_parameters..p._main(args,raw_args,demo_page,banner_name,inactive_statusandtrueorfalse),nil-- nil to disregard subsequent returned valuesendendp.main=function(frame)localargs=args_module.getArgs(frame,{frameOnly=true})localraw_args=args_module.getArgs(frame,{frameOnly=true,removeBlanks=false})returninitialise(args,raw_args)end----------------------------- Inactive projects ---------------------------------p.inactive=function(frame)localargs=args_module.getArgs(frame,{frameOnly=true})localproject_name=args.PROJECT_NAMEor'WikiProject '..(args.PROJECTor'PROJECT')localproject_link=mw.title.new(args.PROJECT_LINKor'Wikipedia:'..project_name)local_status=cfg.inactive.status[args.PROJECT_STATUS]orcfg.inactive.defaultlocalmain_text=cfg.inactive.text:format(project_link.prefixedText,project_name,_status)returninitialise({PROJECT=args.PROJECT,BANNER_NAME=args.BANNER_NAME,IMAGE_LEFT=cfg.inactive.image,IMAGE_LEFT_SIZE=cfg.inactive.image_size,MAIN_TEXT=main_text,HOOK_NESTED_ASSESS=' '..cfg.inactive.nested:format(_status),substcheck=args.substcheck,category=args.category},{substcheck=''-- to prevent warning on templatepage},_status)endreturnp