Senin, 28 September 2026
00:29 WIB
TERKINI
Bola Lampard Gemilang dengan Coventry: Dari Championship ke Liga Primer, Dipuji Rekan Edukasi Moreno Sidharta: Otodidak Raih Medali Emas Olimpiade Matematika Internasional Bola Mantan Bintang Spanyol Dorong Haaland ke Barcelona: Cocok Gaya Main Flick Lampung Maulid Arbain Lampung Sembilan Tahun: Penguatan Akhlak dan SDM Jadi Prioritas Humaniora Ribuan Warga Hadiri Penutupan Maulid Arbain Lampung 2026: Perkuat Akhlak dan Anti Narkoba Cuaca Ratusan Titik Panas Terdeteksi di Lampung: Way Kanan Paling Banyak Disorot Bandar Lampung BMKG Ungkap Penyebab Kemarau Panjang di Lampung: El Nino Kuat dan Hujan Lokal Bandar Lampung Mantan Gubernur Lampung Disidang Korupsi PI 10 Persen, Begini Respons Uniknya Account Satu Akun, Berbagai Akses: Kemudahan Login Terpadu KG Media ID Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda Bola Lampard Gemilang dengan Coventry: Dari Championship ke Liga Primer, Dipuji Rekan Edukasi Moreno Sidharta: Otodidak Raih Medali Emas Olimpiade Matematika Internasional Bola Mantan Bintang Spanyol Dorong Haaland ke Barcelona: Cocok Gaya Main Flick Lampung Maulid Arbain Lampung Sembilan Tahun: Penguatan Akhlak dan SDM Jadi Prioritas Humaniora Ribuan Warga Hadiri Penutupan Maulid Arbain Lampung 2026: Perkuat Akhlak dan Anti Narkoba Cuaca Ratusan Titik Panas Terdeteksi di Lampung: Way Kanan Paling Banyak Disorot Bandar Lampung BMKG Ungkap Penyebab Kemarau Panjang di Lampung: El Nino Kuat dan Hujan Lokal Bandar Lampung Mantan Gubernur Lampung Disidang Korupsi PI 10 Persen, Begini Respons Uniknya Account Satu Akun, Berbagai Akses: Kemudahan Login Terpadu KG Media ID Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda

Modul:WikiProject banner

Dokumentasi modullihatsuntingriwayatsegarkan
DiproteksiModul 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.
WikiProject banners
Module
talk
sandbox
beda
testcases
doc
subpages
to do
Config
sandbox
beda
doc
Styles
sandbox
Templat:Compare pages
Auxiliary
sandbox
beda
doc
templatepage
sandbox
beda
doc
Kategori
kesalahan
related
WarningModul 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.
CSSModul ini menggunakan TemplateStyles:
Modul ini menggunakan Lua:

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|}}}.

ParametersParameters

Common parameters
{{#invoke:WikiProject banner|main
|PROJECT           = 
 |substcheck=<includeonly>{{subst:</includeonly><includeonly>substcheck}}</includeonly>
 |listas={{{listas|}}}
|DOC               = auto
|IMAGE_LEFT        = 
 |IMAGE_LEFT_SIZE  = 
 <!--|class={{{class|}}}-->
 <!--|auto={{{auto|}}}-->
 <!--|importance={{{importance|}}}-->
|ASSESSMENT_CAT    = 
|ASSESSMENT_LINK   = 
|MAIN_TEXT         = 
|MAIN_ARTICLE      = 
|PORTAL            = 
|MAIN_CAT          = 
<!--|attention={{{attention|}}}-->
 |ATTENTION_CAT    = 
<!--|infobox={{{needs-infobox|}}}-->
 |INFOBOX_CAT      = 
}}

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
}}
Produces:
WikiProject iconTulips
WikiProject iconini 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.
  • ASSESSMENT_CAT – artikel diurutkan ke dalam kategori berdasarkan kualitasnya; jadi "Featured Articles" pada Tulip akan dikategorikan secara default menjadi Category:FA-Class Tulips articles. Untuk mengubah default, tentukan parameter ini sehingga artikel unggulan dikategorikan ke dalam Category:FA-Class ASSESSMENT_CAT. Eg: |ASSESSMENT_CAT=Liliaceae articles → Category:FA-Class Liliaceae articles

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|}}}
 |auto={{{auto|}}}
 |importance={{{importance|}}}
|ASSESSMENT_LINK     = Wikipedia:WikiProject Tulips/Article grading
}}
Produces:
WikiProject iconTulips Top‑importance
WikiProject iconini 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
Topartikel ini telah dinilai sebagai Top-importance di proyek importance Skala.

Peringatan dan catatanPeringatan dan catatan

yang berisi informasi bermanfaat tentang artikel tersebut. Ada juga tiga bidang yang telah ditentukan sebelumnya untuk:

  1. artikel yang telah automatically assessed oleh bot (lihat above);
  2. artikel yang membutuhkan perhatian segera;
  3. artikel yang membutuhkan infobox.

Parameternya adalah:

  • 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
    • NOTE_1_CAT – jika didefinisikan, semua artikel yang menampilkan catatan 1 akan dikategorikan ke dalam Category:NOTE_1_CAT. Eg: Wikipedia meminta foto Floridiae → Category:Wikipedia requested photographs of Floridiae
  • 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
}}
Produces:
WikiProject iconTulips icon icon icon icon
WikiProject iconini 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:
/ 
Note icon
Artikel ini telah ditandai sebagai memerlukan perhatian segera..
Note icon
Artikel ini telah ditandai sebagai membutuhkan infobox.
Note icon
Halaman ini telah ditandai sebagai membutuhkan fotografi.
Note icon
File berkas audio telah dibuat dari artikel ini

Gugus tugasGugus tugas

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_MAIN_CAT – jika didefinisikan, semua halaman ditampilkan "tf 1" akan dikategorikan menjadi Category:TF_1_MAIN_CAT. Eg: artikel Florida → Category: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

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        = standard
 |class={{{class|}}}
|tf 1={{{floridiae|}}}
 |TF_1_LINK           = Wikipedia:WikiProject Tulips/Task forces/Floridiae
 |TF_1_NAME           = satuan tugas Floridiae
 |TF_1_NESTED         = Floridiae
 |TF_1_TEXT           = 
 |TF_1_IMAGE          = Tulipa florenskyi 4.jpg
 |tf 1 importance={{{floridiae-importance}}}
 |TF_1_ASSESSMENT_CAT = Floridiae articles
 |TF_1_MAIN_CAT       = Floridiae articles
}}
Produces:
WikiProject iconTulips: Floridiae
WikiProject iconini 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
Taskforce icon
Artikel ini didukung oleh satuan tugas Floridiae (dinilai sebagai Top-importance).

Satgas tidak aktifSatgas tidak aktif

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.

Syntax
{{#invoke:WikiProject banner|main
...

 |b1={{{b1|}}}
 |b2={{{b2|}}}
 |b3={{{b3|}}}
 |b4={{{b4|}}}
 |b5={{{b5|}}}
 |b6={{{b6|}}}
}}

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.

Syntax
|TODO_LINK        = 
|TODO_TEXT        = 
 |TODO_TITLE      = 
 |TODO_EDITLINKS  =

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.

Persimpangan kategori kualitas/kepentinganPersimpangan kategori kualitas/kepentingan

Fitur ini menambahkan kategori yang menggabungkan kualitas dan kepentingan seperti Category:Start-Class High-importance Kent-related articles. Tidak ada keluaran yang terlihat.

Dibutuhkan parameter berikut:

Parameter yang diperlukanParameter yang diperlukan

Parameter opsionalParameter opsional

  • 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

Syntax
|image-needed={{{needs-image|}}}
 |IM_IMAGE =
 |image-details={{{details|}}}
 |image-location={{{location|}}}
 |IM_LOCATION_CATEGORY =
 |image-topic={{{topic|}}}
 |IM_TOPIC_CATEGORY =
 |image-type={{{type|}}}

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 20px-Camera-photo.svg.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail ([[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.

Catatan kolaborasiCatatan kolaborasi

Syntax
|collaboration-candidate={{{**PARAMETER**|}}}
|collaboration-current={{{**PARAMETER**|}}}
|collaboration-past={{{**PARAMETER**|}}}
 |COLL_LINK          = 
 |COLL_TEXT          =
 |COLL_IMAGE         = 
 |COLL_CANDIDATE_CAT = 
 |COLL_CURRENT_CAT   = 
 |COLL_PAST_CAT      =

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 40px-Crystal_128_kuser.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail 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

Catatan ulasan kelas ACatatan ulasan kelas A

Syntax
|a class={{{**PARAMETER**|}}}
 |ACR_SUBPAGE_LINK      = 
 |ACR_REVIEW_LINK       = 
 |ACR_PASS_CAT          = 
 |ACR_FAIL_CAT          = 
 |ACR_CURRENT_CAT       = 
 |ACR_PRELOAD           =

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

Parameter opsionalParameter opsional

  • ACR_PASS_CAT – halaman menggunakan |a class=pass akan dikategorikan ke dalam kategori ini. Eg: Permintaan ulasan Tulips A-Class yang berhasil → Category:Successful requests for Tulips A-Class review
  • ACR_FAIL_CAT – halaman menggunakan |a class=fail akan dikategorikan ke dalam kategori ini. Eg: Permintaan ulasan Tulips A-Class yang gagal → Category:Failed requests for Tulips A-Class review
  • ACR_CURRENT_CAT – halaman menggunakan |a class=current akan dikategorikan ke dalam kategori ini. Eg: Permintaan saat ini untuk ulasan Tulips A-Class → Category:Current requests for Tulips 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
}}

Catatan tinjauan sejawatCatatan tinjauan sejawat

Syntax
|peer review={{{**PARAMETER**|}}}
|old peer review={{{**PARAMETER**|}}}
 |peer review title={{{**PARAMETER**|}}}
 |PR_LINK           = 
 |PR_IMAGE          = 
 |PR_CAT            = 
 |PR_OLD_CAT        = 
 |PR_INVALID_CAT    =

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 40px-Exquisite-kfind.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail 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.

Masker khususMasker khusus

Untuk rincian lebih lanjut, lihat: Template:Class mask/doc

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.

ContohContoh

{{#invoke:WikiProject banner|inactive
 |PROJECT     = Olahraga ekstrim
}}
menghasilkan:
WikiProject iconOlahraga ekstrim (tidak aktif)
WikiProject iconArtikel 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:
Dewan ProyekWiki           Artikel ini merupakan bagian dari ProyekWiki berikut ini:
WikiProject iconOlahraga ekstrim (tidak aktif)
WikiProject iconArtikel ini berada dalam cakupan WikiProject Olahraga ekstrim, sebuah proyek yang saat ini dianggap tidak aktif.Olahraga ekstrimWikipedia:WikiProject Olahraga ekstrimTemplat:WikiProject Olahraga ekstrimOlahraga ekstrim
{{#invoke:WikiProject banner|inactive
 |PROJECT        = Kebijakan dan Pedoman
 |PROJECT_STATUS = PWTIDAKAKTIF
}}
menghasilkan:
WikiProject iconKebijakan dan Pedoman (tidak aktif)
WikiProject iconArtikel 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:
Dewan ProyekWiki           Artikel ini merupakan bagian dari ProyekWiki berikut ini:
WikiProject iconKebijakan dan Pedoman (tidak aktif)
WikiProject iconArtikel 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
Dokumentasi di atas ditransklusikan dari Modul:WikiProject banner/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
require('strict')
localp={}
localsandbox-- = '/sandbox' -- BE SURE TO COMMENT OUT this definition when deploying to live
localcfg=mw.loadData('Modul:WikiProject banner/config'..(sandboxor''))
localauxiliary=cfg.auxiliary_module..(sandboxor'')
localargs_module=require('Modul:Arguments')
localmbox=require('Modul:Message box').main
localyesno=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''}}
end
localwikilink=function(link,display)
iflinkthen
returndisplayand'[['..link..'|'..display..']]'or'[['..link..']]'
else
returndisplayor''
end
end
localdisplay_error=function(text)
localspan=mw.html.create('div')
:addClass('error')
:wikitext(text)
returntostring(span)
end
localimage=function(image_name,size,alt,position)
returnimage_nameand'[[File:'
..image_name
..(sizeand'|'..sizeor'')
..(positionand'|'..positionor'')
..(altand'|alt='..altor'')
..']]'
end
localif_exists=function(target,fallback)-- function to add wikilink if target exists
localtitle=mw.title.new(target)
iftitleandtitle.existsthen
returnwikilink(target)
else
returnfallbackortarget
end
end
localimportance_mask=function(importance,scale,banner_name,pagetype,class)
---------------------------
-- Importance mask --------
---------------------------
localimportance_normalised
ifscale=='inline'then-- pass importance without change
importance_normalised=importanceor''
elseifscale=='subpage'then
localcustom_mask=banner_name:subPageTitle('importance')
ifcustom_mask.existsand#custom_mask:getContent()>1then-- pass to custom importance mask
importance_normalised=mw.text.trim(frame:expandTemplate{
title=custom_mask.prefixedText,
args={
importance=importance,
class=class,
pagetype=pagetype
}
})
end
else-- standard importance scale
importance_normalised=cfg.importance.na
ifpagetype=='article'orpagetype=='set index article'orpagetype=='redirect'orpagetype=='draft'then
localmask=cfg.importance.mask
ifimportanceandmask[importance:lower()]then-- valid importance specified
importance_normalised=mask[importance:lower()]
elseifpagetype=='article'orpagetype=='set index article'then-- unspecified or invalid importance, use "Unknown" for articles
importance_normalised=cfg.importance.unknown
end
end
end
returnimportance_normalised
end
---------------------------
-- Quality class mask -----
---------------------------
p.readarticleclass=function(options,page)-- used by _main and also Modul:Banner shell
page=pageorcurrent_title.prefixedText
localget_parameter_value=require('Modul:Template parameter value').getParameter
localsuccess,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 parameter
end
p.class_mask=function(class,title,FQS,pagetype,article)
localresolveFQSgrade=function(class)
returnFQSandlang:ucfirst(class)or'NA'
end
localout
title=titleormw.title.getCurrentTitle()
localns=title.namespace
class=class:match('^%s*(.-)%s*$'):lower()
ifpagetype=='redirect'orpagetype=='soft redirect'then
out=resolveFQSgrade('redirect')
elseifpagetype=='disambiguation page'then
out=resolveFQSgrade('disambig')
elseifarticleorpagetype=='article'orpagetype=='set index article'then
ifpagetype=='set index article'then
out='List'
elseifclass=='start'orclass=='stub'then-- Ucfirst
out=lang:ucfirst(class)
elseifclass=='b'orclass=='c'orclass=='fa'orclass=='fl'orclass=='a'orclass=='ga'then-- Upper-case
out=class:upper()
elseifclass=='list'orclass=='sia'orclass=='si'orclass=='sl'then-- List
out='List'
else
out=''-- unassessed
end
elseifns==7orns==711then-- File talk
ifclass=='fm'then
out='FM'
else
out=resolveFQSgrade('file')
end
else
localgrade=cfg.quality.ns_to_class[ns]or'NA'
out=resolveFQSgrade(grade)
end
returnout
end
localpage_assessment=function(project,class,importance)-- add PageAssessments parser function
localassessment=table.concat({project,classor'',importanceor''},'|')
frame:preprocess('{{#assessment:'..assessment..'}}')
end
localbubble=function(text,style)
localout=mw.html.create('span')
:addClass('wpb-header-bubbles')
:addClass(style)
:wikitext(text)
returntostring(out)
end
p._main=function(args,raw_args,demo_page,banner_name,inactive)
---------------------------
-- Initialise parameters --
---------------------------
localproject=args.PROJECTor'PROJECT'
localproject_name=args.PROJECT_NAMEor'WikiProject '..project
localproject_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'then
table.insert(categories,{category=category,key=key})
end
end
localparse_pt=function(text)-- function to replace _PAGETYPE_ with the actual page type
localptype=articleand'article'orpagetype-- display "article" for articles otherwise page type
returntextandtext:gsub('_PAGETYPE_',ptype)
end
forarg_name,arg_valueinpairs(args)do
localtf_match=mw.ustring.match(arg_name,'^tf (%d+)$')
localnote_match=mw.ustring.match(arg_name,'^note (%d+)$')
iftf_matchandyesno(arg_value,true)then
table.insert(task_forces,tf_match)
elseifnote_matchandyesno(arg_value,true)then
table.insert(notes,note_match)
else
localtf,cat=mw.ustring.match(arg_name,'^tf (%d+) cat (%d+)$')
iftfandyesno(arg_value,true)then
ifnottaskforce_categories[tf]then-- initialise table
taskforce_categories[tf]={}
end
table.insert(taskforce_categories[tf],cat)
end
end
end
table.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)
ifcatthen
returncat:gsub(' articles','')-- remove "articles" from category
else
returnnameor''
end
end
localassessment_cat=assessment_category(args.ASSESSMENT_CAT,project)
---------------------------
-- Location warning -------
---------------------------
localwarning=''
ifnotcurrent_title.isTalkPageandnotdemo_pagethen
localtext=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.sortkey
ifcurrent_title.namespace==10then-- on the Template namespace
text=text..'  '..cfg.namespace_warning.on_template_page:format(
parameter_format('BANNER_NAME'),
current_title.prefixedText
)
end
warning=mbox('ombox',{
image='[[File:'..cfg.namespace_warning.image..'|40px]]',
type=cfg.namespace_warning.type_,
text=parse_pt(text)
})
ifnotcurrent_title.subjectPageTitle:inNamespace(2)then
add_category(cfg.namespace_warning.categories,sortkey)
end
end
---------------------------
-- Substitution warning ---
---------------------------
ifargs.substcheck=='SUBST'then
localtext=cfg.subst_warning.text:format(
project_name,
'<code>&#123;&#123;'..banner_name.prefixedText..'&#125;&#125;</code>'
)
warning=warning..mbox('ombox',{
image='[[File:'..cfg.subst_warning.image..'|40px]]',
type=cfg.subst_warning.type_,
text=text,
})..cfg.subst_warning.categories
end
---------------------------
-- Primary image/text -----
---------------------------
localprimary_image=function(image_name,size)
localcell=mw.html.create('td')
ifimage_nameandimage_name~=''then
cell:addClass('mbox-image wpb-image')
:wikitext(image(image_name,size,cfg.image.alt))
else
cell:addClass('mbox-empty-cell')
end
returncell
end
localportal=args.PORTAL
localportal_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_size
localmetadata=function(class,data)
returnmw.html.create('span')
:addClass(class)
:wikitext(data)
end
localtext_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_title
localclass=p.readarticleclass({ignore_subtemplates=true},title.prefixedText)
ifclassthen-- banner shell exists
localspecial_chars='([%%%(%)%.%+%-%*%?%[%]%^%$])'
localbanner_name_escaped=banner_name.text
localpage_content=require('Modul:Wikitext Parsing'..(sandboxor'')).PrepareText(title:getContent())-- get content of current page
localcontent_without_shell
forcaptureinmw.ustring.gmatch(page_content,'%b{}')do-- look for possible templates on page
for_,redirectinipairs(cfg.banner_shell.redirects)do
ifmw.ustring.find(capture,'^{{%s*'..redirect..'%s*[|}].*}}$')then-- found a banner shell
banner_name_escaped=banner_name_escaped:gsub(special_chars,'%%%1')-- escape each special character
capture=capture:gsub(special_chars,'%%%1')
content_without_shell=mw.ustring.gsub(page_content,capture,'')-- remove banner shell content from page content
end
ifcontent_without_shellthenbreakend
end
ifcontent_without_shellthenbreakend
end
localtemplate_outside_shell
ifcontent_without_shellandmw.ustring.find(content_without_shell,'{{%s*'..banner_name_escaped..'%s*[|}]')then-- found banner template outside of the shell
add_category(cfg.banner_shell.category.outside_shell)
end
else-- no banner shell on page
iftitle.namespace==3then--User talk namespace
for_,userinipairs(cfg.banner_shell.valid_users)do
ifstring.find(title.rootText,user)then
add_category(cfg.banner_shell.category.no_banner_shell)
end
end
elseiftitle.namespace~=2then-- not in user namespace
add_category(cfg.banner_shell.category.no_banner_shell)
end
class=''
end
---------------------------
-- Quality assessment -----
---------------------------
localassessment_link=args.ASSESSMENT_LINK
ifnotassessment_linkthen
localfallback=mw.title.new(project_link.prefixedText..'/Assessment')
assessment_link=fallback.existsandfallback.prefixedText
elseifassessment_link=='no'then
assessment_link=nil
end
localcheck_fallbacks=function(class,category)-- function to check non-article classes and automatically fall back to NA (or other) class if category does not exist
ifarticleorargs.QUALITY_CRITERIA=='custom'then-- no fallbacks for articles or projects with custom quality scales
returnclass
else-- check fallbacks for non-article classes
localnew_class=class
localcategory_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 blank
end
ifclass=='FM'andnotcategory_exists('FM')then
new_class='File'-- fall back to File-class if FM category does not exist
end
ifnotcategory_exists(new_class)then
new_class='NA'-- use NA for non-article pages if category does not exist
end
returnnew_class
end
end
ifraw_args.classthen-- banner gives quality ratings
class=classandp.class_mask(class,title,true,pagetype,article)-- put PIQA class through standard class mask
ifargs.QUALITY_CRITERIA=='custom'then-- project has opted out of standard assessment scale and uses a custom mask
localproject_class
localcustom_mask=banner_name:subPageTitle('class')
ifcustom_mask.existsand#custom_mask:getContent()>1then
raw_args.demo_page=demo_page-- send demo_page to custom mask
project_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 inherited
localnew_arg_table={}
forarg,valinpairs(raw_args)do-- construct new argument table to send to custom mask
new_arg_table[arg]=val
end
new_arg_table.class=class-- replace class with inherited class
project_class=mw.text.trim(frame:expandTemplate{
title=custom_mask.prefixedText,
args=new_arg_table
})-- inherit project class from PIQA class normalised by custom mask
end
localcategory=(project_class==''and'Unassessed'orproject_class..'-Class')..' '..assessment_cat..' '..(articleand'articles'or'pages')
add_category(category)
ifclass~=project_classthen-- display project class in banner
class=project_class
localrating=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)
)
end
end
else-- project uses standard PIQA assessment
class=check_fallbacks(class,assessment_cat)-- check fallbacks for non-article classes
localcategory=(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 ignored
add_category(cfg.banner_shell.category.ignored_class)
end
end
end
ifargs.HOOK_ASSESSthen
table.insert(rows,args.HOOK_ASSESS)
end
ifraw_args.b1orraw_args.b2orraw_args.b3orraw_args.b4orraw_args.b5orraw_args.b6then
localb_checklist=require(auxiliary).b_checklist(args,raw_args,class,demo_page,assessment_link)
table.insert(rows,b_checklist)
end
---------------------------
-- Priority assessment ----
---------------------------
localimportance
localimportance_name=args.IMPNor(raw_args.priorityand'priority'orcfg.importance.default_name)
ifraw_args.importanceorraw_args.prioritythen-- banner gives priority ratings
importance=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 rating
localrating=importance=='Unknown'andcfg.importance.not_yetorcfg.importance.rated:format(importance,importance_name)
localscale=assessment_link
andcfg.importance.project_scale:format(assessment_link..'#'..lang:ucfirst(cfg.importance.scale:format(importance_name)),cfg.importance.scale:format(importance_name))
orcfg.importance.default_scale
localimportance_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 Unknown
table.insert(
nested_ratings,
bubble(importance..'‑'..importance_name,cssClass)
)
end
end
add_category(category)
ifargs.QII_FORMATthen
add_category(require(auxiliary).quality_importance_insection(args,class,importance,importance_name,assessment_cat,article))
end
end
ifclassorimportancethen
page_assessment(project,class,importance)
end
ifargs.HOOK_IMPORTANCEthen
table.insert(rows,args.HOOK_IMPORTANCE)
end
---------------------------
-- Collapsing sections ----
---------------------------
localcollapse_section=function(collapse,new_rows,header)
ifcollapsethen
localheader_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('/&nbsp;')
: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)do
collapsed_rows:node(row)
end
localcollapsed_section=mw.html.create('tr')
:tag('td')
:attr('colspan','3')
:addClass('wpb-collapsed-notes')
:node(collapsed_rows)
:done()
table.insert(rows,collapsed_section)
else
for_,rowinipairs(new_rows)do
table.insert(rows,row)
end
end
end
---------------------------
-- Task forces ------------
---------------------------
localnested_tf,taskforce_output={},{}
localtf_default_size=args.TF_SIZEorcfg.task_force.default_size
for_,kinipairs(task_forces)do
localtf_prefix='TF_'..k..'_'
localtf_assessment_cat=assessment_category(
args[tf_prefix..'ASSESSMENT_CAT'],
args[tf_prefix..'NAME']
)
ifyesno(args[tf_prefix..'QUALITY'])andclassthen
localtf_class=check_fallbacks(class,tf_assessment_cat)
add_category((tf_class==''and'Unassessed'ortf_class..'-Class')..' '..tf_assessment_cat..' '..(articleand'articles'or'pages'))
end
localtf_importance,tf_importance_category
ifraw_args['tf '..k..' importance']then
tf_importance=importance_mask(args['tf '..k..' importance'],args.IMPORTANCE_SCALE,banner_name,pagetype,class)
iftf_importance=='Unknown'andyesno(args.INHERIT_IMPORTANCE)then
tf_importance=importance
end
tf_importance_category=tf_importance..'-'..importance_name..' '..tf_assessment_cat..' '..(tf_importance=='NA'and'pages'or'articles')
add_category(tf_importance_category)
end
ifargs[tf_prefix..'TEXT']~='none'then
localportal=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_TEXT
iftf_textthen
text=portal..tf_text
:gsub('_NAME_',args[tf_prefix..'NAME']or'')
:gsub('_LINK_',args[tf_prefix..'LINK']or'')
:gsub('_IMPORTANCE_',tf_importanceor'')
else
localtf_importance_text=tf_importance
andtf_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
)
end
localtf_size=args[tf_prefix..'SIZE']ortf_default_size
localtf_image=''
ifargs[tf_prefix..'IMAGE']then
tf_image=image(args[tf_prefix..'IMAGE'],tf_size,cfg.task_force.icon_alt,'center')
end
localtaskforce=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)
end
ifargs[tf_prefix..'HOOK']then
table.insert(taskforce_output,args[tf_prefix..'HOOK'])
end
ifargs[tf_prefix..'QII_FORMAT']then
add_category(require(auxiliary).quality_importance_insection(args,class,tf_importance,importance_name,tf_assessment_cat,article,tf_prefix))
end
ifargs[tf_prefix..'NAME']then
page_assessment(project..'/'..args[tf_prefix..'NAME'],class,tf_importance)
end
ifargs[tf_prefix..'MAIN_CAT']then
add_category(args[tf_prefix..'MAIN_CAT'])
end
ifargs[tf_prefix..'NESTED']then
table.insert(nested_tf,wikilink(args[tf_prefix..'LINK'],args[tf_prefix..'NESTED']))
end
for_,cinipairs(taskforce_categories[k]or{})do-- add additional taskforce categories
add_category(args[tf_prefix..'CAT_'..c])
end
end
ifargs.HOOK_TFthen
table.insert(taskforce_output,args.HOOK_TF)
end
localthreshold=tonumber(args.TF_COLLAPSE)or(args.TF_HEADERandcfg.task_force.lower_threshold)orcfg.task_force.upper_threshold
collapse_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_size
localrender_note=function(note_args)--text, image_name, size, category, sort_prefix
localsort=note_args.sort_prefixandnote_args.sort_prefix..current_title.text
add_category(note_args.category,sort)
add_category(note_args.category2,sort)
ifnote_args.textthen
localnote_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_imagethen
localicon=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))
end
end
end
localauto=false
localauto_arg=args.autoandargs.auto:lower()
if(auto_arg=='yes'orauto_arg=='stub')andclass=='Stub'then
auto='stub'
elseif(auto_arg=='inherit'orauto_arg=='length')andclassandclass~=''then
auto=auto_arg
end
ifautothen
localauto_cat=args.AUTO_ASSESS_CATorcfg.auto.default_cat:format(project)
localauto_text=cfg.auto.assessed:format(
cfg.auto[auto],-- method of automatic assessment
parameter_format('auto')
)
localsort_prefix
ifauto=='stub'then
sort_prefix='S'
elseifauto=='length'then
sort_prefix='L'
elseifauto=='inherit'then
localsort_codes=cfg.auto.sort_codes
sort_prefix=sort_codes[class]orcfg.auto.default_sort_code
end
render_note{
text=auto_text,
image_name=cfg.auto.icon,
category=auto_cat,
sort_prefix=sort_prefix
}
end
ifyesno(args.attention,true)then
localattention_cat=args.ATTENTION_CATorcfg.attention.default_cat:format(project)
render_note{
text=cfg.attention.text,
image_name=cfg.attention.icon,
category=attention_cat
}
end
ifyesno(args.infobox,true)then
localinfobox_cat=args.INFOBOX_CATorcfg.infobox.default_cat:format(project)
render_note{
text=cfg.infobox.text,
image_name=cfg.infobox.icon,
category=infobox_cat
}
end
for_,kinipairs(notes)do
localnote_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']
}
end
ifyesno(args['image-needed'],true)then
localimage_needed_args=require(auxiliary).image_needed(args)
render_note(image_needed_args)
end
ifyesno(args['collaboration-candidate'],true)oryesno(args['collaboration-current'],true)oryesno(args['collaboration-past'],true)then
localcollaboration_args=require(auxiliary).collaboration(args,current_title)
render_note(collaboration_args.candidate)
render_note(collaboration_args.current)
render_note(collaboration_args.past)
end
ifyesno(args['a class'],true)then
locala_class_args=require(auxiliary).a_class(args,lang)
render_note(a_class_args)
end
ifyesno(args['peer review'],true)oryesno(args['old peer review'],true)then
localpeer_review_args=require(auxiliary).peer_review(args,current_title)
render_note(peer_review_args.current)
render_note(peer_review_args.past)
end
localnote_count=#note_output
ifargs.HOOK_NOTEthen
table.insert(note_output,args.HOOK_NOTE)
localhook_collapsed=0
ifargs.HOOK_COLLAPSEDthen
localsuccess,result=pcall(mw.ext.ParserFunctions.expr,args.HOOK_COLLAPSED)
hook_collapsed=successandtonumber(result)or0
ifargs.HOOK_COLLAPSED=='auto'then
hook_collapsed=1
end
end
note_count=note_count+hook_collapsed
end
collapse_section(
note_count>(tonumber(args.COLLAPSED)orcfg.note.threshold),
note_output,
args.COLLAPSED_HEADorcfg.note.header
)
---------------------------
-- Bottom text ------------
---------------------------
ifargs.HOOK_BOTTOMthen
table.insert(rows,args.HOOK_BOTTOM)
end
ifargs.TODO_LINKorargs.TODO_TEXTthen
localtodolist=require(auxiliary).todo_list(args,frame)
table.insert(rows,todolist)
end
ifargs.BOTTOM_TEXTthen
localbottom_text=mw.html.create('tr')
:tag('td')
:attr('colspan','3')
:wikitext(parse_pt(args.BOTTOM_TEXT))
:done()
table.insert(rows,bottom_text)
end
ifargs.MAIN_CATthen
add_category(args.MAIN_CAT)
end
---------------------------
-- Nested display ---------
---------------------------
ifargs.HOOK_NESTEDthen
localhook_nested=args.HOOK_NESTED:gsub('^&#32;/ ','')-- remove initial slash, will be added later
table.insert(nested_tf,hook_nested)
end
localnested_tf_str=''
if#nested_tf>0then
nested_tf_str=tostring(mw.html.create('span')
:addClass('wpb-nested-task-force')
:wikitext(': '..table.concat(nested_tf,' / '))
)
end
localnested_ratings_str=#nested_ratings>0andtable.concat(nested_ratings,' ')or''
ifargs.HOOK_NESTED_ASSESSthen
nested_ratings_str=nested_ratings_str..tostring(mw.html.create('span')
:addClass('wpb-header-bubbles')
:wikitext(args.HOOK_NESTED_ASSESS)
)
end
localheader_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 purposes
localcategory_list=mw.html.create('ul')
for_,catinipairs(categories)do
localitem=mw.html.create('li')
:wikitext(wikilink(':Kategori:'..cat.category,cat.category))
category_list:node(item)
end
localcategory_box=mw.html.create('div')
:addClass('wpb-category-box')
:wikitext('Categories:')
:node(category_list)
categories_formatted=tostring(category_box)
elseifnotdemo_pagethen
localcategories_linked={}
for_,catinipairs(categories)do
localcat_link=wikilink('Kategori:'..cat.category,cat.key)
table.insert(categories_linked,cat_link)
end
categories_formatted=table.concat(categories_linked)
end
---------------------------
-- Make banner ------------
---------------------------
localbanner_rows=mw.html.create('table')
for_,rowinipairs(rows)do
banner_rows:node(row)
end
localbanner=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_link
end
localinitialise=function(args,raw_args,inactive_status)
---------------------------
-- Initialise arguments ---
---------------------------
localparent_args=args_module.getArgs(frame,{parentOnly=true})
localcategory=parent_args.categoryorargs.categoryortrue
localdemo_page=parent_args.demo_page
localconfig,project
ifargs.projectthen-- check for config page
project=args.project
localconfig_file=mw.title.new('Templat:WikiProject '..args.project..'/config')
ifconfig_file.existsthen
config=mw.loadJsonData(config_file.fullText)
else
returnnil
end
end
ifconfigthen-- use config file
ifparent_args.taskforcethen-- split comma-separated list
fortaskforceinmw.text.gsplit(parent_args.taskforce,',%s*')do
parent_args[taskforce]='yes'
end
end
args,raw_args=require(auxiliary).map_config(config,parent_args)-- map parameters from config page
args.PROJECT=project
end
localon_template_page=false
localbanner_name=mw.title.new(args.BANNER_NAMEor'Template:WikiProject '..(args.PROJECTor'PROJECT'))
ifnotdemo_pagethen
ifyesno(category,true)then
on_template_page=current_title.rootPageTitle==banner_name.rootPageTitle
else
demo_page=true
end
end
localproject_name=args.PROJECT_NAMEor'WikiProject '..(args.PROJECTor'PROJECT')
localunknown_parameters=''
ifbanner_name.existsandnotdemo_pagethen-- check for unknown parameters
localparameter_list={}
forparameterinbanner_name:getContent():gmatch('{{{([^|}]+)')do
parameter_list[parameter]=true
end
ifparameter_list.importance==truethen-- add priority as a valid alias of importance
parameter_list.priority=true
end
ifargs.QUALITY_CRITERIA~='custom'then-- class is unrecognised, so remove from list
parameter_list.class=false
end
parameter_list.listas=false-- remove listas even if parameter used (should be in banner shell)
localparameters,paramer_list={}
fork,vinpairs(parameter_list)do
ifvthen
table.insert(parameters,k)
end
end
parameters.showblankpositional="1"
localcheck_for_unknown=require('Modul:Check for unknown parameters')._check
localunknowns=check_for_unknown(parameters,parent_args)
ifunknownsandunknowns~=''then-- there are some unknown parameters
parameters.preview=cfg.unknown_parameters.preview:format(wikilink(banner_name.fullText))
localunknown_category=cfg.unknown_parameters.tracking:format(project_name)
ifnotmw.title.new(unknown_category).existsthen
unknown_category=cfg.unknown_parameters.default
end
parameters.unknown=unknown_categoryand'[['..unknown_category..'|_VALUE_]]'or''
unknown_parameters=check_for_unknown(parameters,parent_args)
end
end
ifnotargs.importancethen-- allow priority to be used even by banners which don't support it
args.importance=parent_args.priority
end
ifon_template_pagethen
localtemplatepage=require('Modul:WikiProject banner/templatepage'..(sandboxor'')).templatepage
returntemplatepage(args,raw_args,inactive_status,config)
else
returnunknown_parameters
..p._main(args,raw_args,demo_page,banner_name,inactive_statusandtrueorfalse),nil-- nil to disregard subsequent returned values
end
end
p.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.default
localmain_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
)
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan