Wikipedia
testwiki
https://test.wikipedia.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.7
first-letter
Media
Special
Talk
User
User talk
Wikipedia
Wikipedia talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Thread
Thread talk
Summary
Summary talk
Test namespace 1
Test namespace 1 talk
Test namespace 2
Test namespace 2 talk
Draft
Draft talk
Campaign
Campaign talk
TimedText
TimedText talk
Module
Module talk
SecurePoll
SecurePoll talk
CNBanner
CNBanner talk
Translations
Translations talk
Event
Event talk
Topic
Newsletter
Newsletter talk
Wikipedia:Sandbox
4
107092
747649
747564
2026-06-19T19:56:29Z
TheDutchLandfill
74529
Pywikibot 11.3.0
747649
wikitext
text/x-wiki
foo bar
6h6thzlaic67zbwo7cotxfcuaepm14g
747653
747649
2026-06-19T20:09:59Z
DutchRobot
74524
replace bar with baz
747653
wikitext
text/x-wiki
foo baz
hkmiz2d207xt43ynaslqa5j2nv8pm0v
Faisal Tehrani
0
108253
747661
704402
2026-06-20T00:07:24Z
InternetArchiveBot
34092
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5
747661
wikitext
text/x-wiki
{{Multiple issues|{{more footnotes|date=March 2018}}
{{Underlinked|date=June 2016}}
{{BLP sources|date=May 2011}}
{{cleanup rewrite|reason=events are written in improper order and not coherent fashion|date=March 2017}}}}
{{EngvarB|date=October 2014}}
{{Use dmy dates|date=October 2014}}
{{Infobox writer <!-- for more information see [[:Template:Infobox writer/doc]] -->
| name = Mohd Faizal Musa
| image =FORUM_BAHASA_JIWA_BANGSA_ATAU_BAHASA_GILA_KUASA_170514_TMISHAFIQ_04.jpg
| imagesize =
| caption =
| pseudonym = Faisal Tehrani
| birth_date = {{birth date and age|df=yes|1974|08|07}}
| birth_place = [[Kuala Lumpur]], [[Malaysia]]
| death_date =
| death_place =
| nationality = Malaysian
| period =
| genre = Novel, short-story, poem and stage play
| subject =
| movement =
| influences =
| influenced =
| signature =
| website =
}}
'''Mohd Faizal Musa''' (born 7 August 1974), also known under the pen name '''Faisal Tehrani''', is a [[Malaysia]]n [[author]] and [[playwright]]. Due to the frequent writing and ideas he was known as a [[Controversy|controversial]] person.<ref>''“Tidak syak lagi, sejauh ini, suaranya, suara ‘menentang’ yang cuba mencari kewarasan setiap peristiwa yang sedang berlaku di seputarnya.”'' (A. Samad Said dalam Dewan Sastera, November 2002)
''"There is no doubt, so far, his voice, the 'opposing' voice that tries to find the sanity of every occasion that is happening around him."'' (A. Samad Said in the Literature Council, November 2002)</ref><ref>{{Cite web|url=http://www.thesundaily.my/news/1060994|title=A voice for the voiceless|website=www.thesundaily.my|language=en|access-date=2018-07-27|archive-date=27 July 2018|archive-url=https://web.archive.org/web/20180727054537/http://www.thesundaily.my/news/1060994|url-status=dead}}</ref> He is the author of many books and literary works of various lengths, including stage plays. National Laureate [[Anwar Ridhwan|Anwar Ridwan]] praises of Faisal's writing "conscious of high literature and full of vision."<ref>http://irep.iium.edu.my/5099/1/Anwar_Ridhwan._Interview_article.pdf</ref>
Faisal has won numerous literary prizes and awards, including the [[National Arts Awards|National Art Award]] (''[[:ms:Anugerah Seni Negara|Anugerah Seni Negara]]'') in 2006.<ref>{{Cite web|url=http://ww1.utusan.com.my/utusan/info.asp?y=2006&dt=1123&pub=Utusan_Malaysia&sec=Sastera&pg=sa_02.htm|title=Anugerah Seni Negara pengiktirafan kepada penggiat seni|last=Ani Awang|date=23 November 2006|website=Utusan Malaysia|access-date=16 March 2017|archive-date=27 July 2018|archive-url=https://web.archive.org/web/20180727084758/http://ww1.utusan.com.my/utusan/info.asp?y=2006&dt=1123&pub=Utusan_Malaysia&sec=Sastera&pg=sa_02.htm|url-status=dead}}</ref><ref>{{Cite web|url=http://www.thesundaily.my/node/164367|title=Writing for change|last=Bissme S.|date=31 July 2008|website=[[The Sun (Malaysia)|The Sun]]|language=en|access-date=16 March 2017|archive-date=27 July 2018|archive-url=https://web.archive.org/web/20180727054710/http://www.thesundaily.my/node/164367|url-status=dead}}</ref>
== Education ==
Mohd Faizal Musa was born on August 7, 1974 in [[Kuala Lumpur]] before moving to [[Malacca]] at the age of 5. He started school at [[Sacred Heart]] School of Malacca, then at [[Primary school|Primary School]] Jalan Dato Palembang. Faisal continued his studies at Sekolah Menengah Sultan Muhammad until the age of 15, managing to get excellent [[Penilaian Menengah Rendah|Lower Certificate of Education]] results, after which he continued his studies at the Klang Islamic College (now the [[Sultan Alam Shah Islamic College]]). Faisal often honed his skills by supplementary writing of his teenage experiences in a teenage [[magazine]].
=== Expertise ===
Mohd Faizal is a graduate of Bachelor of Syariah-Politics of the [[University of Malaya]] (1998), a [[Master of Arts]] from [[University of Science, Malaysia|Universiti Sains Malaysia]] (2000), [[Doctor of Philosophy]] from the [[National University of Malaysia]] (2010). He now works at the [[National University of Malaysia]]. As a Research Fellow at the Institute of Malay World and Civilisation, his research is on the Shiite minority in the [[Malay world|Malay world]]{{تم}}. In 2019, he was appointed as an [https://shiism.wcfia.harvard.edu/people/mohd-faizal-musa Associate of the Global Sh’ia Diaspora] {{Webarchive|url=https://web.archive.org/web/20191023064823/https://shiism.wcfia.harvard.edu/people/mohd-faizal-musa |date=23 October 2019 }} at the [[Weatherhead Center for International Affairs|Weatherhead Center for International Affairs]]{{تم}}, Project on Shi’ism and Global Affairs at [[Harvard University]], [[United States|United States of America]].
== Writing career ==
Faisal began his writing career with ''Cinta Hari-hari Rusuhan'' published by Creative Enterprise and ''Perempuan Politikus Melayu'' by Penerbitan Pemuda, both published in 2000. Both of his works lead to his nomination in the 2000-2001 Hadiah Sastera Perdana Malaysia. There was also ''Maaf Dari Sorga'', which only managed to be published in 2003 by Zebra Publications. Johan Jaafar, a famous [[Literary criticism|literary critic]] {{تم}}named some good political novels from Malaysia and the Malay Politic Women as "highlighting the pattern of women's political thinking".<ref>{{Cite web |url=http://www.themalaysianinsider.com/rencana/article/pengajaran-politik-dalam-sastera-melayu-johan-jaaffar |title=Archived copy |access-date=5 March 2020 |archive-date=6 January 2016 |archive-url=https://web.archive.org/web/20160106210013/http://www.themalaysianinsider.com/rencana/article/pengajaran-politik-dalam-sastera-melayu-johan-jaaffar |url-status=dead }}</ref>
In 2002 he released ''1515'', an [[Alternate history|alternative historical fiction]] that takes on [[Capture of Malacca (1511)|the Portuguese conquest of Malacca]] with victory siding instead to the [[Malacca Sultanate|Malacca Sultanate]]{{تم}}. It won first place in the 2002 Utusan Malaysia-Exxon Mobil Literature Prize plus the 2005 [[National Book Award]] in the General Malay Fiction category. The book is also used as a reading text for Malay studies at the [[University of Cologne|University of Cologne in Germany]]. The book was eventually translated in 2011 by the National Translation Institute of Malaysia (Institut Terjemahan Buku Malaysia, or ITBM). ''1515'' is considered to be the most significant work by Faisal Tehrani at the beginning of his writing. For instance, Professor [[Emeritus]] Dr Salleh Yaapar, Universiti Sains Malaysia (USM), talks about the greatness of 1515; "which re-reveals the history and identity of the Malays".<ref>http://www.dbp.gov.my/klikdbp/klikdbp1jun7.pdf{{Dead link|date=September 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> In an academic paper, Professor Salleh also named ''1515'' as a masterpiece.<ref>http://ro.uow.edu.au/cgi/viewcontent.cgi?article=1256&context=kunapipi</ref> Professor Sohaimi Abdul Aziz, Universiti Sains Malaysia (USM), also named 1515 as a novel full of techniques and literary approaches.<ref>{{Cite web|url=https://books.google.com/books?id=Am2mCQAAQBAJ&pg=PT76&lpg=PT76&dq=FAISAL+TEHRANI+1515&source=bl&ots=kSpFPGJ72p&sig=8C8Zl6LYJlY8CPoo6K9j2VF5HcA&hl=en&sa=X&redir_esc=y#v=onepage&q=FAISAL+TEHRANI+1515&f=false|title=Dahsyatnya Kesusasteraan Memerihalkan Kehidupan (Penerbit USM)|first=Sohaimi Abdul|last=Aziz|date=23 July 2014|publisher=Penerbit USM|via=Google Books}}</ref> Rosma Derak from [[Universiti Malaysia Sabah|Universiti Malaysia Sabah]] {{تم}}, Malaysia, described ''1515'' as the best of Faisal Tehrani's works and his strength was the use of 'deconstructing historiography' or 'rewriting history'.<ref>{{Cite web|url=http://www.myjurnal.my/public/article-view.php?id=82068|title=MyJurnal - Malaysian Citation Centre|website=www.myjurnal.my|access-date=5 March 2020|archive-date=31 July 2020|archive-url=https://web.archive.org/web/20200731220311/http://www.myjurnal.my/public/article-view.php?id=82068|url-status=dead}}</ref> ''1515'' is also the only contemporary Malaysian novel mentioned in The Encyclopedia of the Blackwell issue of the novel (2011).<ref>Razif Bahari. 2011. 'Southeast Asian Archipelago'. Dlm. John Wiley & Sons. The Encyclopedia of the Novel. Wiley Blackwell Publishing. UK. Hlm. 754.</ref>
''Rahsia Ummi'' published by Zebra Publications, 2003. In the meantime there are also used to find the ''Tunggu Teduh Dulu'' serialized in the room of [[Utusan Malaysia|Utusan Malaysia]] {{تم}}and expired in December 2003. The novel was published by Penerbitan Se-lain (2004) and Ameen Publishing (2008). Another of his famous novel is ''1511H Kombat'' by Utusan Publications and Distributors (2004).<ref>http://www.ukm.my/penerbit/akademika/ACROBATAKADEMIKA75/akademika75%5B01%5D.pdf{{Dead link|date=August 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> It won first place in the 2003 Utusan Malaysia-Exxon Mobil Literature Prize in 2003; and ''Advencer Si Peniup Ney'' by Utusan Publications and Distributors (2004). It won first place Hadiah Sastera Utusan Malaysia-Exxon Mobil in 2004.
He wrote the [[Young adult fiction|young adult novel]] {{تم}}''Detektif Indigo'' in 2004, published by Utusan Publications and Distributors. It won second place Hadiah Sastera Utusan Malaysia-Exxon Mobil in 2004. In the meantime, he began composing the historical novel ''Surat-surat Perempuan Johor,'' which was released by Yayasan Warisan [[Johor|Johor]] {{لا}}in the following year. He won the Sayembara Novel Sejarah dan Tradisi Johor 1. The popularity of ''Detektif Jingga'' lead to a sequel titled ''Ikan Fugu, Lukisan & Jimson'' in 2007. In the academic papers 'Adolescent Knowledge Indexes in Detective Indigo' (2013), published in Malay Literature 26 (12): 80-99, two University Malaya scholars, Dr Tengku Intan Marlina Mohd Ali and Dr Salinah Ja'afar from the Malay Studies Academy stated that Detective Indigo novel is very loaded with science knowledge for teens and useful for practicing skills.<ref>{{Cite web |url=http://malayliterature.dbp.my/wordpress/wp-content/uploads/2014/08/5-Adolescent-Knowledge-Indexes-in-Detektif-Indigo.pdf |title=Archived copy |access-date=5 March 2020 |archive-date=21 January 2016 |archive-url=https://web.archive.org/web/20160121065317/http://malayliterature.dbp.my/wordpress/wp-content/uploads/2014/08/5-Adolescent-Knowledge-Indexes-in-Detektif-Indigo.pdf |url-status=dead }}</ref>
The Novel ''Tunggu Teduh Dulu'' and ''Surat-surat Perempuan Johor'' received praise by Siti Rabeah Masri, Kamariah Kamarudin and Pabiyah Hajimaming (Universiti Putra Malaysia) in their paper entitled ''<nowiki/>'The Muslim Woman's Personality and the Development of Insan Al-Kamil in the Novels of Faisal Tehrani and Isa Kamari ''', published in Malay Literature 26 (1): 38-64; the scholars stated ''<nowiki/>'Faisal Tehrani's novels are more dominant in putting forth depictions Muslim women with extraordinary character.'<ref>{{Cite web |url=http://malayliterature.dbp.my/wordpress/wp-content/uploads/2014/08/3-The-Muslim-Woman.pdf |title=Archived copy |access-date=5 March 2020 |archive-date=30 July 2018 |archive-url=https://web.archive.org/web/20180730110914/http://malayliterature.dbp.my/wordpress/wp-content/uploads/2014/08/3-The-Muslim-Woman.pdf |url-status=dead }}</ref>''
In 2007, Faisal Tehrani wrote ''Bedar Sukma Bisu'', published by [[Dewan Bahasa dan Pustaka]]. It won the Sayembara Jubli Emas DBP general novel category. ''Bedar Sukma Bisu'' also won the Hadiah Sastera Perdana Malaysia 2006/2007.<ref>{{Cite web|url=https://books.google.com/books?id=L38_jNlkADAC&pg=PA59&lpg=PA59&dq=faisal+tehrani+bedar+sukma+bisu&source=bl&ots=Bn2dZHxDUL&sig=CoJgaNHbXf2HqZ-lfQkBrxqAPig&hl=en&sa=X&redir_esc=y#v=onepage&q=faisal+tehrani+bedar+sukma+bisu&f=false|title=The Sustainability of the Translation Field|first=Hasuria Che|last=Omar|date=23 July 2009|publisher=ITBM|via=Google Books}}</ref> The work was translated into English under the title of ''The Prau with the Silent Soul'' in 2009 by Zawiyah Baba. SM Zakir in the paper ''The Myth and Religion in the Fu Numeral'' and ''The Prau With the Silent Soul'' (Bedar Sukma Bisu) published in Malay Literature 22 (2): 168-190, praising Faisal's uses of composed myth in the novel.<ref>http://www.myjurnal.my/filebank/published_article/22886/168_190.PDF{{Dead link|date=August 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
''<nowiki/>''
''Manikam Kalbu'' by Dewan Bahasa dan Pustaka (2007). It won the Sayembara Jubli Emas DBP teens novel category. , ''Manikam Kalbu'' was awarded the winner for the Teen Fiction Book of the Year category in the National Book Award at a ceremony held by the [[Ministry of Education (Malaysia)|Ministry of Education]] and the National Book Council on 22 December 2009. Also won the ''Manikam Kalbu'', Hadiah Sastera Perdana Malaysia 2006/2007. In a study, this novel is regarded as saturated with local knowledge by Dr Wan Zaliha Wan Othman and Professor Dr. Mohamad Mokhtar Abu Hassan.<ref>{{Cite web |url=http://umexpert.um.edu.my/file/publication/00001256_98072.pdf |title=Archived copy |access-date=5 March 2020 |archive-date=5 March 2016 |archive-url=https://web.archive.org/web/20160305045522/http://umexpert.um.edu.my/file/publication/00001256_98072.pdf |url-status=dead }}</ref>
Faisal continued the prolific producing ''Tuhan Manusia'' by Ameen Publishing (2007). Independent writer and director [[Amir Muhammad (director)|Amir Muhammad]] calls it "a provocative and surprising work. It is thematically conservative, but why should conservatives not be allowed to be provocative?"<ref>Amir Muhammad. 2009. You Gotta Have Faith. Malay Mail. 25 February.</ref> Faisal however disowned the work and ''Tunggu Teduh Dulu'' during a panel meeting at the Singapore Writers Festival 2015, saying it was just ''<nowiki/>'water under the bridge'.'' Mohd Faizal also refused to be associated with the movement of Islamic literature to the next phase of her writing, by asserting Islamic literature has distanced the audience and failed to achieve the purpose of humanity. Faisal, however, has yet to write anything critical essay about his points he is. The same thing he repeated during his opening remarks at the Fourth ASEAN Literary Festival in Jakarta, Indonesia.<ref>{{Cite web|url=http://www.aseanliteraryfestival.com/?page=archive_full&id=190|title=aseanliteraryfestival.com - Diese Website steht zum Verkauf! - Informationen zum Thema aseanliteraryfestival.|website=www.aseanliteraryfestival.com|access-date=5 March 2020|archive-date=17 August 2017|archive-url=https://web.archive.org/web/20170817123431/http://www.aseanliteraryfestival.com/?page=archive_full&id=190}}</ref> In 2017, ten years after the publication of ''Tuhan Manusia'', Faisal stated in his column article in Free Malaysia Today that he hoped to rewrite the novel after believing the aspect of belief or religion was the affair between man and God.<ref>{{Cite web|url=https://www.freemalaysiatoday.com/category/opinion/2017/08/17/dari-tuhan-manusia-ke-manusia-tuhan/|title=Dari Tuhan manusia ke manusia Tuhan|first=Faisal|last=Tehrani|date=17 August 2017|access-date=5 March 2020|archive-date=20 February 2020|archive-url=https://web.archive.org/web/20200220102017/https://www.freemalaysiatoday.com/category/opinion/2017/08/17/dari-tuhan-manusia-ke-manusia-tuhan/|url-status=dead}}</ref>
''<nowiki/>''
He continued writing children's literature with ''Nama Beta Sultan Alauddin'' (2007) published Aberdeen World. In 2008, he released a continuation of the ''Detektif Indigo'' series, ''Detektif Indigo Kembali'' published by Ameen Publishing. It was followed by ''Ketupat Cinta'', originally published in [[Harian Metro]] from 13 January to 5 August of the same year and reissued by Ameen Publishing as ''Ketupat Cinta Musim Pertama'' in 2009 followed by ''Ketupat Cinta Musim Kedua Penggal Pertama'' in 2012.
Then, another historical novel authored the issue ''Saasatul Ibaad'' Aberdeen World (2008) and a novel ''Bahlut'' about the origin issue Ameen Publishing (2010). In 2011, Faisal Tehrani produce novel ''Sebongkah Batu di Kuala Berang'' with PTS Litera.
In 2012, he released ''Perempuan Nan Bercinta'' published with the Institut Terjemahan Buku Malaysia (ITBM), which had caused repercussions by the government.<ref>{{Cite web|url=https://www.sinarharian.com.my/nasional/faisal-harap-jaminan-pm-perempuan-nan-bercinta-tidak-diharam-1.64259|title=Nasional|first=Sinar|last=Harian|date=26 December 2018|website=Sinarharian}}</ref><ref>http://www.malaysiandigest.com/archived/index.php/12-news/local2/8748-jakim-mulls-banning-book-launched-by-najib</ref> It was later banned by the government of Malaysia in 2014. Undeterred by government pressure, he published the novel ''Bagaimana Anyss Naik Ke Langit'' with independent publisher DuBook Press that tells of the fate of an academic-activist who fights for the rights of the [[Penan people]].<ref>{{Cite web|url=http://www.theantdaily.com/Main/It-s-not-sensational-it-s-just-human-rights|title=It’s not sensational, it’s just human rights|last=Neo Ming Yi|date=25 July 2014|website=The Ant Daily|archive-url=https://web.archive.org/web/20140729160945/http://www.theantdaily.com/Main/It-s-not-sensational-it-s-just-human-rights|archive-date=29 July 2014|url-status=}}</ref> Faisal also wrote a poem titled ''Di Tembok Berlin'' on the same year,which was dedicated to [[Chris Gueffroy]], the last victim of the [[Berlin Wall]] who was killed on 5 February 1989. The poem was translated into German as ''An der Berliner Mauer'' by Hedy Holzwarth, Holger Warnke, and Volker Wolf in the ''Kuala Lumpur-Berlin'' anthology released by ITBM.<ref name="auto1">{{Cite web |url=http://www.itbm.com.my/catalogue/buku/kuala_lumpur_-_berlin/ |title=Archived copy |access-date=16 March 2017 |archive-url=https://web.archive.org/web/20130724201645/http://www.itbm.com.my/catalogue/buku/kuala_lumpur_-_berlin/ |archive-date=24 July 2013 |url-status=dead }}</ref>
In the field of drama, Faisal Tehrani is work; ''Rintih Chicago'' (winning the Hadiah Sastera Perdana Malaysia 1996/97). ''Angin Madinah'' (Hadiah Sastera Berunsur Islam organized by Yayasan Pelajaran Islam Malaysia-DBP and won the Hadiah Sastera Perdana Malaysia 2000-2001). ''MISI'' (1999-2000) was sponsored by Dewan Bahasa dan Pustaka to carry around Malaysia, it was staged in Kota Kinabalu, Kuching and Penang. ''TiVi'' is an adaptation of a novella national laureate [[Shahnon Ahmad|Shannon Ahmad]] and directed himself in 2003 and funded under the program by the Teater Kecil of the Sastera Kebangsaan Dewan Bahasa dan Pustaka.
Faisal also released a collection of short stories published by Sasbadi titled ''Sehari Dalam Perang'' (1997). Also mini collection of short stories published Sasbadi under the title ''Safari Gilgit'' (1997), a collection of short stories with Azman Husin in 2000, a collection of short stories ''‘Lagi-Lagi Underground’'' with Sharil Hasril Sanin 2002. Short story collection ''Perempuan Anggerik published'' DBP in 2002, this collection of short stories shortlisted for Hadiah Sastera Perdana Malaysia 2002/2003, kumpulan Cerpen ''Kekasih Sam Po Bo'' issue Aberdeen World (2006). In 2010 he published a collection of short stories ''Tiga Kali Seminggu''.
In the field of poetry Faisal Tehrani came with his first collection of poetry, namely ''Ingin Jadi Nasrallah'' in 2010. It is published by Ameen Publishing. National Laureate Datuk Anwar Ridwan described ''Ingin Jadi Nasrallah'' as "a publication that highlights his talent as a poet. Some of his poems have thought deeply reinforced with imagery, metaphor, and diction effective."
He also writes creative writing handbook with the title ''Karya Nan Indah'' (Ameen Publishing, 2007).
== Adaptations of his works ==
A stage adaption of ''Monsopiad dan lain-lain Cerita'' was held from 5 to 7 December 2003 at the [[Esplanade – Theatres on the Bay|Esplanade]] in [[Singapore]], funded by the National Art Council of Singapore. The play was nominated at the Cameronian Awards Award 2003 for the category of best Malay drama script.<ref>{{Cite web |url=http://awards.kakiseni.com/winners/2003-awards/ |title=Archived copy |access-date=5 March 2020 |archive-date=17 August 2013 |archive-url=https://web.archive.org/web/20130817192530/http://awards.kakiseni.com/winners/2003-awards/ |url-status=dead }}</ref>
''Karbala'' (2008) published by Aberdeen World. ''2 Jam Sebelum Sultan Alauddin Syahid Diracun'' staged on August 25 to 29, 2008 in the Auditorium Akademi Pengajian Islam UM and characterized by Pentas magazine Volume 3 Number 4 issue of the Palace of Culture as a 'staging the monumental'. On 13–16 August 2009 at Wisma ITNM (Institut Terjemahan Negara Malaysia), Faisal Tehrani back to lead a religious theater show ''Kopitiam Ghadir''. It featured songs nasyid group singing 'Peace Culture Revolution'. ''Kopitiam Ghadir'' repeated the play on 1 to 4 July 2010. The drama ''Derik Kerisek'' published by Ameen Serve in 2011.
In 2011, members of the [[Kuala Lumpur City Hall]] Cultural Artists collective staged a play adaptation of his novel ''Nama Beta Sultan Alauddin'' in conjunction with the Kuala Lumpur Festival on the same year.<ref>{{Cite web|url=https://robinwong.blogspot.com/2011/07/nama-beta-sultan-alauddin-dance-theater.html|title=Nama Beta Sultan Alauddin: A Dance Theater|first=Robin|last=Wong}}</ref>
Beginning in 2012, [[TV2 (Malaysia)|TV2]] had released a television adaptation of ''Pelangi Ada Tujuh Warna'', which tells a female entrepreneur trapped in misyar often practiced by adherents of the Wahhabi ideology.<ref>{{Cite web|url=https://www.budiey.com/drama-pelangi-ada-tujuh-warna/|title=Drama Pelangi Ada Tujuh Warna|date=6 February 2012|website=Sensasi Selebriti}}</ref> The television directed by Bade and produced by actress Erma Fatima for. It is played by Ahmad Tarmimi Siregar and Lydiawati.
== Academic writing ==
In academia, Faisal known in the three disciplines of Comparative Literature, Syiahisme, and the field of Human Rights.<ref>{{Cite web|url=https://ukm.academia.edu/MohdFaizalMusa|title=Mohd Faizal Musa | National University of Malaysia - Academia.edu|website=ukm.academia.edu}}</ref> Among his academic writings which had reference is ''The Malaysian Shi'a: A Preliminary Study of Their History, Oppression, and Denied Rights'' (2013), ''Axiology of Pilgrimage: Malaysian Shi'ites Ziyarat in Iran and Iraq'' (2013), ''Javanese Sufism and Prophetic Literature'' (2011), ''Pengantar Hak Asasi Manusia Moden dan Hujah Sangkalan Ia Bertentangan Dengan Islam'' (2015),<ref>Musa, MF. 2015. 'Pengantar Hak Asasi Manusia Moden dan Hujah Sangkalan Ia Bertentangan Dengan Islam'. International Journal of the Malay World and Civilisation (Iman) 3(3): 79 - 94.</ref> ''Human Rights Lesson from Selected Malay Proverbs'' (2016) and ''Religious Freedom in Malaysia: The Reading of Qur’an 2:256'' (2016) which is contained in ''The Qur’an in the Malay-Indonesian World'' under series ''Routledge Studies in the Qur’an''. His expertise in academia is assessed by reference to the international standards.<ref>{{Cite web|url=https://ukm.pure.elsevier.com/en/persons/mohd-faizal-musa|title=Mohd Faizal Musa, Dr.|website=The National University of Malaysia|access-date=5 March 2020|archive-date=23 July 2019|archive-url=https://web.archive.org/web/20190723071601/https://ukm.pure.elsevier.com/en/persons/mohd-faizal-musa|url-status=dead}}</ref>
There are also a book ''Sinema Spiritual: Dramaturgi dan Kritikan'' (published Unit Buku Harakah) and ''Wacana Sastera Islam di Malaysia dan Indonesia'' (published UPM) was published in 2012.
=== Translation work ===
There are two Faisal novels translated into English which, ''1515'', Shahnaz Mohd Said's translation into English. ''1515'' reversed the history of the Portuguese attack on Malacca by giving the success of the Malays through the heroic character of Tun Nyemah Mulia. The 272-page novel was published by the National Translation Institute of Malaysia (now known as the Institute of Translation and Book Malaysia or ITBM) in 2011.<ref name="auto">{{Cite web|url=https://books.google.com/books?id=_BzfyAYVl0sC&dq=the+pray+of+the+silent+soul&source=gbs_navlinks_s|title=The Prau with the Silent Soul|first=Faisal|last=Tehrani|date=23 July 2009|publisher=ITBM|via=Google Books}}</ref>
Faisal's second novel translated Bedar Sukma Bisu, translated by Dato Zawiyah Baba, former Director of the National Library of Malaysia with the title The Prau with the Silent Soul (2009). The 250-page novel is also published by ITBM.<ref name="auto"/>
Four of his short stories can also be read in English the ''Perempuan Anggerik'' translated as The Orchid Lady (2000), translation Associate Professor Dr Noraini Md Yusof. It is published in Malay Literature 13 (1): 65-75. Madame short stories translated ''Cikgu Tomok'' by Kadir Ahmad for ''A Teacher for Tomok'' and published in Malay Literature 22 (1): 65-70.<ref>{{Cite web |url=http://www.myjurnal.my/filebank/published_article/22879/065_070.PDF |title=Archived copy |access-date=5 March 2020 |archive-date=18 May 2018 |archive-url=https://web.archive.org/web/20180518130618/http://www.myjurnal.my/filebank/published_article/22879/065_070.PDF |url-status=dead }}</ref> ''Cik Siti Mustika'' (2009), translated by National Laureate Professor Dr Muhammad Haji Salleh with the title ''Miss Siti Mustika'' and published in the anthology of short stories ITBM ''Sea of Rainbows''.<ref>{{Cite web|url=https://books.google.com/books?id=ArvR4UTeDRIC&pg=PA53&dq=miss+siti+mustika+sea+of+rainbows&source=gbs_toc_r&cad=3#v=onepage&q=miss+siti+mustika+sea+of+rainbows&f=false|title=Sea of Rainbows|first=Muhammad Haji|last=Salleh|date=23 July 2009|publisher=ITBM|via=Google Books}}</ref> ''Seorang Muslim, Seorang Lutheran'' origin published by ''Malaysiakini'' dated January 27, 2014. Translation ''A Muslim, A Lutheran'' done by Yana Rizal.<ref name="auto2">{{Cite web|url=http://www.projekdialog.com/featured/a-muslim-a-lutheran/|title=A Muslim, A Lutheran}}{{Dead link|date=December 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
Faisal poem entitled The Berlin Wall (2012) translated by Hedy Holzwarth, Holger Warnk, and Volker Wolf is included in Kuala Lumpur - Berlin / Berlin - Kuala Lumpur ITBM issue''.''<ref name="auto1"/> The poem, whose translation is called An der Berliner Mauer, warned him to commemorating Chris Gueffroy, the last victim of the Berlin Wall who died on February 5, 1989.
'Bagaimana Anyss Naik ke Langit' translated into English as How Anyss Went to Heaven (2016), and published by DuBook Press.
''1515' translated into French by Monique Zaini-Lajoubert, published by [https://lettresdemalaisie.com/bibliographie/romans-et-nouvelles/romans-malaisiens/faisal-tehrani-1515/ Les Indes Savantes] in Paris (2016).
In 2019, [https://www.gerakbudaya.com/the-professor-by-faisal-tehrani The Professor] {{Webarchive|url=https://web.archive.org/web/20200511020028/https://www.gerakbudaya.com/the-professor-by-faisal-tehrani |date=11 May 2020 }}, a novel on human rights was published by Gerak Budaya. It was translated by Brigitte Bresson.
== Controversies ==
=== Shia ===
In 2008, Mufti of Perlis Dr Mohd Asri Zainul Abidin whom often associated with Salafiism<ref>{{Cite web|url=https://www.malaysiakini.com/news/113886|title=Saya bukan Wahabi, kata Mohd Asri|website=Malaysiakini}}</ref> had written a letter to the chief editor of Harian Metro plus its copies to the Department of Islamic Development (JAKIM) and the [[Ministry of Home Affairs (Malaysia)|Home Affiars Ministry]] alleging Faisal of spreading the teachings of [[Shia Islam]] –a very taboo topic on part of the Malaysian government– through one of the chapters published in the ''Ketupat Cinta'' series;<ref name="MKini1">{{cite web|author1=Jimadie Shah Othman|title=Dr Asri tuduh Faisal 'berbohong'|url=https://www.malaysiakini.com/news/83792|website=Malaysiakini|accessdate=16 March 2017|language=ms-MY|date=2 June 2008}}</ref> which was further supported by JAKIM's Assistant Director for the Section of Aqidah, Mohd Aizam Mas’od.<ref name="MKini2">{{cite web|title=Novel dilancar PM diharamkan Jakim|url=https://www.malaysiakini.com/news/247887|website=Malaysiakini|accessdate=16 March 2017|language=ms-MY|date=28 November 2013}}</ref> Apart from Mohd Asri, another Salafi figure who frequently accuses Faisal Tehrani as 'Shi'ite author' including Fathul Bari Mat Jahya.<ref name=":0">{{Cite web|url=https://www.malaysiakini.com/news/117350|title=Jais tolak 7 penceramah Wahabi?|website=Malaysiakini}}</ref><ref>{{Cite web|url=https://www.youtube.com/watch?v=2uSzdmvVvCo|title=UFB - Tulisan Faizal Tehrani Banyak Unsur Syiah|date=6 December 2012|via=YouTube}}</ref> Due to the influence of Salafism takes place in Malaysia since the middle of 2000,<ref>{{Cite web |url=http://www.themalaysianinsider.com/malaysia/article/rise-of-salafism-in-malaysia-cause-of-controversial-fatwas-says-sociologist |title=Archived copy |access-date=5 March 2020 |archive-date=4 March 2016 |archive-url=https://web.archive.org/web/20160304112050/http://www.themalaysianinsider.com/malaysia/article/rise-of-salafism-in-malaysia-cause-of-controversial-fatwas-says-sociologist |url-status=dead }}</ref> the allegations of the preachers have affected Faisal Tehrani's authority as a creative author.
Faisal however denies such allegations and affirmed that he did not belong to this group, though he had stated his openness to the various schools of thought that have evolved in Islamic tradition; citing precedents like [[Syed Muhammad Naquib al-Attas]] and [[Burhanuddin al-Helmy]] with their efforts of reconciling syncretic Sunni and Shia traditions as a way of bridging understanding between both groups.<ref>{{cite web|author1=Faisal Tehrani|title=Isu Perempuan Nan Bercinta: Medan Baharu Persuratan Melayu|url=http://irfront.net/post/opinion-features/isu-perempuan-nan-bercinta-medan-baharu-persuratan-melayu/|website=Islamic Renaissance Front|accessdate=16 March 2017|language=Malay|date=7 July 2012}}</ref><ref>{{Cite news|url=https://www.malaysiakini.com/news/203071|title='Saat kita perlukan sergahan minda'|last=Faisal Tehrani|date=9 July 2012|work=Malaysiakini|access-date=16 March 2017|language=ms-MY}}</ref> Among the denials ever recorded is in his writing in Malaysiakini.<ref>{{Cite news|url=https://www.malaysiakini.com/news/202940|title=Faisal Tehrani: Jangan guna kuasa jawab buku saya|date=2012-07-07|work=Malaysiakini|access-date=2018-07-27|language=ms-MY}}</ref><ref>{{Cite news|url=https://www.malaysiakini.com/news/203071|title='Saat kita perlukan sergahan minda'|date=2012-07-09|work=Malaysiakini|access-date=2018-07-27|language=ms-MY}}</ref><ref>{{Cite news|url=https://www.malaysiakini.com/news/203298|title=Mendobrak tembok feudalisme dalam persuratan|date=2012-07-11|work=Malaysiakini|access-date=2018-07-27|language=ms-MY}}</ref><ref>{{Cite web |url=http://theklreview.org/faisal-tehrani-bukan-sasterawan-masturbasi/ |title=Archived copy |access-date=5 March 2020 |archive-date=4 November 2016 |archive-url=https://web.archive.org/web/20161104081138/http://theklreview.org/faisal-tehrani-bukan-sasterawan-masturbasi/ |url-status=dead }}</ref><ref>{{Cite web |url=http://www.freemalaysiatoday.com/category/nation/2014/05/07/author-says-novel-not-a-syiah-book/ |title=Archived copy |access-date=5 March 2020 |archive-date=4 January 2016 |archive-url=https://web.archive.org/web/20160104155950/http://www.freemalaysiatoday.com/category/nation/2014/05/07/author-says-novel-not-a-syiah-book/ |url-status=dead }}</ref> However, Faisal's idea has not been accepted, and Mohd Azizuddin Mohd Sani, a lecturer at the School of International Studies, Universiti Utara Malaysia, said Faisal was one of the victims of the trend of the agenda of Islamic authorities to maintain its popularity.<ref>{{Cite web|url=https://www.todayonline.com/world/asia/using-islam-score-political-points|title=Using Islam to score political points|website=TODAYonline}}</ref>
In 2011, Faisal Tehrani produced a novel titled ''Sebongkah Batu in Kuala Berang'' with PTS Litera.<ref>{{Cite web|url=http://pts.com.my/index.php/berita/isu-sebongkah-batu-di-kuala-berang-pts-belum-terima-maklumat-rasmi|title=Isu Sebongkah Batu di Kuala Berang: PTS Belum Terima Maklumat Rasmi|website=pts.com.my}}</ref> On 5–6 October 2011, at the 79th Islamic Content Publishing Materials Committee Meeting Department of Islamic Development Malaysia (JAKIM) meeting, the novel Sebongkah Batu was banned.
No solid reason was given by the agency as a pretext for a ban. ''Sebongkah Batu in Kuala Berang'' however continues to be sold in the open market as JAKIM has no absolute power to prohibit books. In 2012, her work titled ''Perempuan Nan Bercinta'' published with the Malaysian Institute of Books (ITBM) once again raised furore. On December 3, 2013, Faisal Tehrani received a letter from the Publishing and Text Control Division of the Quran, the Home Ministry announced five of his works were banned by JAKIM. The works are ''Sebongkah Batu di Kuala Berang, Perempuan Nan Bercinta,'' drama ''Karbala'', kumpulan puisi ''Ingin Jadi Nasrallah'' dan kumpulan cerpen ''Tiga Kali Seminggu.''
In an interview with Wall Street Journal Faisal explains that the novel's claim was banned by Shiite elements, ''"In this book, Ali Taqi questioned whether the possibility of a school of thought in Islam could be utilized to resolve the problem and the clutter of the Islamic version faced by the Sunni school of thought, which is merely a discourse, an academic discourse, so the Professor asked, Sunni and Shia are jointly put together to help resolve disputes, conflicts and crises? It is a complex novel There are various thought ideas in it".<ref>{{Cite web|url=https://blogs.wsj.com/indonesiarealtime/2014/05/08/qa-faizal-tehrani-and-his-banned-beloved-lady/|title=Q&A: Faizal Tehrani and His Banned Beloved Lady|first=Celine|last=Fernandez|date=7 May 2014}}</ref>''
=== Human Rights in Literature ===
In 2008, Professor Dr. Nor Faridah Abdul Manaf from International Islamic University called Faisal as a bold author and never failed to voice the truth to the authorities compared to other authors in Malay literature that often chose a safe path. It is mentioned in his paper ''<nowiki/>'Human Rights and National Literature: A Comparative Study of the Experiences in Malaysia, Thailand and the Philippines''' published in Asiatic 2 (2): 74-84.<ref>http://journals.iium.edu.my/asiatic/index.php/AJELL/article/viewFile/49/35</ref> According to Uthaya Sankar SB, the fact that authors in Malaysia are afraid of the authorities to curb them to produce literary works capable of receiving the attention of the Nobel Prize, is not seen in the work of Faisal Tehrani.<ref>http://www.beritadaily.com/news/2016-01-18/32047/address-issues-not-ban-books-says-uthaya{{Dead link|date=August 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
Nowadays after various of controversies, Faisal is considered as the founder of the human rights movement in Malay literature.<ref>{{Cite web|url=https://www.beritaharian.sg/bahasa-budaya/hak-asasi-lewat-persuratan|title=Hak asasi lewat persuratan, Berita Bahasa & Budaya - BeritaHarian.sg|date=18 May 2015|website=BeritaHarian}}</ref> Among his works, which are evidently human rights include ''Homosektual'' short stories published in Mingguan Malaysia on June 24, 2012<ref>{{Cite web |url=http://ww1.utusan.com.my/utusan/info.asp?y=2012&dt=0624&pub=Utusan_Malaysia&sec=Sastera&pg=sa_01.htm |title=Archived copy |access-date=5 March 2020 |archive-date=30 July 2018 |archive-url=https://web.archive.org/web/20180730110650/http://ww1.utusan.com.my/utusan/info.asp?y=2012&dt=0624&pub=Utusan_Malaysia&sec=Sastera&pg=sa_01.htm |url-status=dead }}</ref> and a short story translated by Yana Rizal for the Dialog Project site entitled ''A Muslim, A Lutheran'' published on October 19, 2015.<ref name="auto2"/> In the year 2015, Faisal produced a children's book entitled ''<nowiki/>'Advencer Yaya and Fufu. Book 1: Jangan Cakap Begitu '''. The Dubook Press publication briefly introduces Articles 1 and 2 of the Universal Declaration of Human Rights 1948 with the target audience under the age of five.
''<nowiki/>''
=== Reprimand from the United Nations ===
On May 2014, the United Nations Human Rights Organization in a formal communication ''‘Communications report of Special Procedures: Communication Sent 1 March to 31 May 2014 Replies Received 1 May to 31 July 2014 Case Number MYS 4/2014’ A/HRC/27/72, 2014''' has sent a letter to the Malaysian government asking for clarification of why the novel ''Perempuan Nan Bercinta'' is prohibited, and stated that it is a violation of human rights.
[[File:Maina Kiai.jpeg|thumb|Dr Mohd Faizal Musa and Mr Maina Kiai, the United Nations Special Rapporteur on the Rights to Freedom of Peaceful Assembly and of Association.]]''<nowiki/><nowiki/><nowiki/><nowiki/>''
In relation to that, the four United Nations Special Rapporteur has reprimanded the Malaysian government in a special communications ''<nowiki/>'AL Cultural rights (2009) G/SO 214 (67-17) Assembly & Association (2010-1) G/SO 214 (56-23) MYS 4/2014'<nowiki/>'' on May 27, 2014. They mentioned two novels: ''<nowiki/>'Perempuan Nan Bercinta''' and ''<nowiki/>'Sebongkah Batu Berang '.'' The Special Rapporteur considers the banning of these books is an act of intimidating and humiliating Faisal Tehrani, a human rights activist, as well as academicians studying in the field. The Special Rapporteur is; ''Special Rapporteur in the field of cultural rights; the Special Rapporteur on the promotion and protection of the right to freedom of'' ''opinion and expression; the Special Rapporteur on the rights to freedom of peaceful assembly and of association;'' and ''the Special Rapporteur on freedom of religion or belief''. In the letter it is also possible for some other books to be prohibited.it.<ref>{{Cite web|url=https://spcommreports.ohchr.org/Tmsearch/SPDB_Redirect|title=SPDB_Redirect|website=spcommreports.ohchr.org}}</ref> The Malaysian government ignored this reprimand, and even proceed with the banning of four Faisal Tehrani books effective April 1, 2015.
5.<ref>{{Cite web |url=http://www.themalaysianinsider.com/malaysia/article/banning-my-books-absurd-as-they-were-published-years-before-author-says |title=Archived copy |access-date=5 March 2020 |archive-date=5 January 2016 |archive-url=https://web.archive.org/web/20160105052815/http://www.themalaysianinsider.com/malaysia/article/banning-my-books-absurd-as-they-were-published-years-before-author-says |url-status=dead }}</ref>
''<nowiki/><nowiki/><nowiki/><nowiki/><nowiki/><nowiki/><nowiki/><nowiki/>''
Faisal Tehrani then challenged the banning of the four books on June 29, 2015 and requested a court review of the four books; ''Sebongkah Batu di Kuala Berang'', ''Perempuan Nan Bercinta'', ''Karbala'' drama, collection of Poetry, ''Ingin Jadi Nasrallah'' and a collection of short story of ''Tiga Kali Seminggugugu.<ref>http://www.nst.com.my/news/2015/12/118685/novelist-faisal-tehrani-seeks-overturn-book-ban</ref>''
=== Liberal Islam ===
In addition to Shiite allegations, Faisal is also often mocked by a liberal title. Liberal Islam claims in Malaysia are often viewed negatively. Some of the accusations are Khalid Muammar A Harris who accuses Faisal of insulting Islamic institutions in this country and religious institutions.<ref>{{Cite web|url=https://www.ismaweb.net/2015/07/11/luahan-kemarahan-faisal-tehrani-satu-kebiadaban-terhadap-islam-institusi-raja/|title=Luahan kemarahan Faisal Tehrani satu kebiadaban terhadap Islam, institusi raja|date=11 July 2015|access-date=5 March 2020|archive-date=23 July 2019|archive-url=https://web.archive.org/web/20190723071607/https://www.ismaweb.net/2015/07/11/luahan-kemarahan-faisal-tehrani-satu-kebiadaban-terhadap-islam-institusi-raja/|url-status=dead}}</ref> Faisal stressed that liberal lifestyles are not a negative, even claimed by the Rukun Negara, namely the national ideology of Malaysia; ''"The head of the Rukun Negara is often left behind by many people, so many are left behind or overlooked that Malaysia wants to" a liberal way of rich cultural tradition".''<ref>{{Cite web|url=https://www.malaysiakini.com/columns/286667|title=Aku, liberalis|website=Malaysiakini}}</ref>
Faisal also believes that the influence of 'Literal Islam' or Salafism has make it complicated for the atmosphere of plurality and multiracial in Malaysia.<ref>{{Cite web|url=https://www.malaymail.com/news/malaysia/2014/06/12/academic-arabification-of-islam-behind-allah-ban/686059|title=Academic: Arabification of Islam behind ‘Allah’ ban | Malay Mail|first=Boo|last=Su-Lyn|website=www.malaymail.com}}</ref>
According to him, the situation in Malaysia is now rampant with teo-fascism and the hope to see Malaysia as a moderate Muslim country is straying away.<ref>{{Cite web|url=https://www.malaymail.com/news/what-you-think/2014/06/26/theofascism-and-the-myth-of-moderate-malaysia-dr-mohd-faizal-musa/695153|title=Theofascism and the myth of ‘Moderate Malaysia’ — Dr Mohd Faizal Musa | Malay Mail|first=Published 5 years ago on 26|last=June 2014|website=www.malaymail.com}}</ref>
=== Death Threats ===
Since falling prey to Shia charges and the liberal Islamic agnets, Mohd Faizal Musa often gets death threats. He has also faced several death threats made against him, in which he documents them on his Twitter account.<ref>{{Cite web|url=https://twitter.com/drfaisaltehrani/status/557003335861940225|title=Death Threat (3):pic.twitter.com/Ev0Bhrmz2T|first=Mohd Faizal|last=Musa|date=18 January 2015}}</ref><ref>{{Cite web|url=https://twitter.com/drfaisaltehrani/status/580544207372324864|title=Death Threat (4):pic.twitter.com/WVgI5zHg9p|first=Mohd Faizal|last=Musa|date=24 March 2015}}</ref><ref>{{Cite web|url=https://twitter.com/drfaisaltehrani/status/640537735640449024|title=Another death threat.pic.twitter.com/XwifRq7OA8|first=Mohd Faizal|last=Musa|date=6 September 2015}}</ref>
== Further Development ==
Following the ban on Women Nan Bercinta, Faisal Tehrani seems to be submerged from the mainstream of Malaysian literature. However, his writings and excerpts can still be traced through his column at Malaysiakini BM which often accepts warm comments from readers. In 2014, after publishing How Anyss Going Up to Heaven (''Bagaimana Anyss Naik Ke Langit)'' with the DuBook Press, Faisal republished his short stories in two previous underground short stories with Thukul Cetak publishers. The short story is titled ''Cerpen2 Underground'' (2015) with the addition of about 20 miniature short stories.
Faisal made a move to publish his first essay book entitled ''Aku______, Maka Aku Ada!'' (DuBook Press 2015). The book's cover presented him and his late Master Nik Abdul Aziz Nik Mat, and on his back cover written; ''‘Usah ajari aku bagaimana menjadi Muslim. Engkau tidak semua tahu. Dan aku tidak selalu jahil’. (''Do not teach me how to become a Muslim. You all do not know. And I'm not always ignorant)
On May 6, 2015, Faisal Tehrani was shocked when the Home Ministry decided to ban his four books''Karbala''(2008),<span class=""> </span>''Ingin Jadi Nasrallah''<span class=""> </span>(2010), ''Tiga Kali Seminggu''<span class=""> </span>(2010) and ''Sebongkah Batu di Kuala Berang'' (2011). The ban comes into effect on April 1, 2015.<ref>{{Cite web|url=https://www.malaysiakini.com/news/248504|title=3 Lagi buku sastera Faisal Tehrani diharamkan|website=Malaysiakini}}</ref>
''Karbala'', which was banned by the government, was the subject of study by Professor Dr Edwin Wierenga of the University of Cologne, Germany in his paper ''<nowiki/>'A Ta'ziya from 21st-century Malaysia: Faisal Tehrani's Passion Play Karbala'''. It is included in the academic book titled 'Shi'ism in South East Asia' by Chiara Formichi's edits. This book is the publication of C Hurst & Co Publishers Ltd and goes on sale in the open market beginning May 21, 2015.<ref>{{Cite web|url=https://www.hurstpublishers.com/book/shiism-in-south-east-asia/|title=Shi‘ism in South East Asia | Hurst Publishers|website=HURST}}</ref> 'Karbala' was once created in the Literature Hall from Vol. 36, No. 12 (2006). The Karbala Drama is serialized between December 2006 and July 2007.
Despite his pressure on Faisal, he published his second poem; The Mek Bah Bahia chapter published by Print (2015) and a children's book entitled ''‘Advencer Yaya dan Fufu.'' ''Buku 1: Jangan Cakap Begitu’.'' This book briefly introduces Articles 1 and 2 of [[Universal Declaration of Human Rights|the Universal Declaration of Human Rights]] {{تم}}1948 with the target audience below the age of five.
Mohd Faizal also produced a film in 2015 titled Leukerbad, which captures the travel of human rights activists in Geneva, [[Switzerland]].<ref>{{Cite web|url=https://www.youtube.com/watch?v=FT6ZZADlr1Y|title=Leukerbad: A Film by Faisal Tehrani (First Trailer)|date=1 July 2015|via=YouTube}}</ref>
On January 10, 2018, the Court of Appeal quashed a Home's Ministry order banning four books authored by Faisal. A three-man panel comprising [[Tengku Maimun Tuan Mat|Tengku Maimun Tuan Mat]] {{تم}}, Ahmadi Asnawi and Zaleha Yusof found that the order issued on Feb 12, 2015, was not in accordance with Section 7 (1) of the [[Printing Presses and Publications Act 1984|Printing Presses and Publications Act 1984]] {{تم}}. Justice Zaleha, said that the order of banning the books was a restrcition of Faisal's fundamental right of freedom of speech. Justice Zaleha also added, the books – ''Sebongkah Batu di Kuala Berang'' (published by PTS Litera Utama Sdn Bhd); ''Karbala'' (published by Aberdeen Books World), ''Tiga Kali Seminggu'' and ''Ingin Jadi Nasrallah'' (both published by Al-Ameen Serve Holdings Sdn Bhd) – were not a threat to national security and public order. The panels stated that they had read the books, and nothing comes to their attention and they could not apprehend how the four books could create public disorder or be a threat to the society.<ref>{{Cite news|url=http://www.freemalaysiatoday.com/category/nation/2018/01/10/court-of-appeal-quashes-ban-on-faisal-tehranis-books/|title=Court of Appeal quashes ban on Faisal Tehrani’s books|date=2018-01-10|work=Free Malaysia Today|access-date=2018-08-01|language=en-US|archive-date=10 January 2018|archive-url=https://web.archive.org/web/20180110155514/http://www.freemalaysiatoday.com/category/nation/2018/01/10/court-of-appeal-quashes-ban-on-faisal-tehranis-books/|url-status=dead}}</ref><ref>{{Cite web|url=https://www.thestar.com.my/news/nation/2018/01/11/court-quashes-ban-on-faisal-tehranis-books/|title=Court quashes ban on Faisal Tehrani’s books - Nation {{!}} The Star Online|website=www.thestar.com.my|access-date=2018-08-01}}</ref><ref>{{Cite web|url=http://www.thesundaily.my/news/2018/01/10/appeals-court-quashes-ban-faisal-tehranis-books|title=Appeals court quashes ban on Faisal Tehrani's books|website=www.thesundaily.my|language=en|access-date=2018-08-01}}</ref>
On June 27, 2018, Faisal was called up by Putrajaya's [[Council of Eminent Persons (Malaysia)|Council of Eminent Persons]] to present his input on the way forward for Islamic bodies in Malaysia. Faisal was among scholars and activists called by the council to get feedback on the reform of Islamic institutions. Faisal suggested to the council that the advisers for religious agencies should also be academics such as anthropologists and sociologists. Faisal proposed that the government set up an advisory council comprising experts in religious and non-religious sciences to advise Islamic agencies in the country.<ref>{{Cite news|url=http://www.freemalaysiatoday.com/category/nation/2018/06/27/islamic-bodies-need-advisers-banned-author-tells-putrajaya-council/|title=Islamic bodies need advisers, banned author tells Putrajaya council|date=2018-06-27|work=Free Malaysia Today|access-date=2018-07-31|language=en-US|archive-date=2 November 2018|archive-url=https://web.archive.org/web/20181102215914/https://www.freemalaysiatoday.com/category/nation/2018/06/27/islamic-bodies-need-advisers-banned-author-tells-putrajaya-council/|url-status=dead}}</ref>
During and interview with [[Free Malaysia Today|Free Malaysia Today]] {{تم}}(FMT), on July 19, 2018, Faisal Tehrani warns of likely conservative backlash as the [[Pakatan Harapan|Pakatan Harapan]] {{تم}}triumph on the [[Malaysian general election, 2018|Malaysian 14th General Election]], and the fall of [[Barisan Nasional]] government. Faisal Tehrani stated that 'he feels the fresh air of change' after the week Pakatan Harapan took over the administration. Faisal is optimistic about the serious changes that the 'new government' are bringing.<ref>{{Cite news|url=http://www.freemalaysiatoday.com/category/nation/2018/07/19/be-careful-what-you-wish-for-faisal-urges-impatient-liberal-reformers/|title=Be careful what you wish for, Faisal urges impatient liberal reformers|date=2018-07-19|work=Free Malaysia Today|access-date=2018-07-31|language=en-US|archive-date=16 December 2018|archive-url=https://web.archive.org/web/20181216040521/https://www.freemalaysiatoday.com/category/nation/2018/07/19/be-careful-what-you-wish-for-faisal-urges-impatient-liberal-reformers/|url-status=dead}}</ref>
== Bibliography ==
* ''1515'' (2002)
* ''1511H Kombat''
* ''Perempuan Politikus Melayu'' (2000)
* ''Detektif Indigo'' (2004)
* ''Advencer Si Peniup Ney''
* ''Bedar Sukma Bisu'' (2007) ''/ The Prau with the Silent Soul'' (2009)
* ''Cinta Hari-Hari Rusuhan''
* ''Ikan, Fugu, Lukisan dan Jimson'' (2007)
* ''Maaf Dari Sorga''
* ''Rahsia Ummi'' (2003)
* ''Surat-Surat Perempuan Johor'' (2005)
* ''Tunggu Teduh Dulu''
* ''Bila Tuhan Berbicara''
* ''Tuhan Manusia'' (2007)
* ''Nama Beta Sultan Alauddin'' (2007)
* ''Manikam Kalbu'' (2007)
* ''Karya Nan Indah''
* ''Karbala'' (2008)''#''
* ''Perempuan Nan Bercinta#'' (2012)
* ''Detektif Indigo Kembali'' (2008)
* ''Saasatul Ibaad'' (2008)
* ''Sebongkah Batu di Kuala Berang''# (2011)
<nowiki>#:</nowiki> banned by Home Ministry of Malaysia under claims of promoting Shia Islam—a highly volatile issue by the Malaysian Government—which are detrimental to public order and safety of [[Sunni Islam|Sunni Muslims]] in Malaysia.
== References ==
{{reflist}}
{{Authority control}}
{{DEFAULTSORT:Tehrani, Faisal}}
[[Category:Malaysian writers]]
[[Category:Living people]]
[[Category:1974 births]]
[[Category:People from Malacca]]
[[Category:Malaysian novelists]]
[[Category:Malaysian poets]]
[[Category:Malaysian people of Malay descent]]
[[Category:Malaysian Muslims]]
[[Category:University of Malaya alumni]]
[[Category:National University of Malaysia alumni]]
[[Category:Malay-language poets]]
n27r4qki68kqcwd9xzmmkitt75fizt0
MediaWiki:GrowthMentors.json
8
127601
747659
747599
2026-06-19T22:15:40Z
Zilant63
34042
/* growthexperiments-manage-mentors-summary-add-self-no-reason:Zilant63| */
747659
json
application/json
{
"Mentors": {
"49911": {
"message": null,
"weight": 2,
"username": "About672599"
},
"44042": {
"message": null,
"weight": 2,
"username": "Aseleste"
},
"50263": {
"message": "Testing",
"weight": 0,
"username": "DreZhsh"
},
"30874": {
"message": "Testing",
"weight": 2,
"username": "Elli"
},
"27425": {
"message": "Hello and welcome! I'll be happy to help you!",
"weight": 0,
"username": "Etonkovidova (WMF)"
},
"51711": {
"message": "Test",
"weight": 2,
"username": "GOnyeahialam (WMF)"
},
"752": {
"message": "I will be happy to explore together all these new features!",
"weight": 1,
"username": "Geraki"
},
"1": {
"message": "Sup?",
"weight": 2,
"username": "Jon Harald Søby"
},
"39901": {
"message": "Welcome to Wikipedia! I love editing about music, but you can ask me anything.",
"weight": 2,
"username": "MMiller (WMF)"
},
"43912": {
"message": "test222222222222222",
"weight": 2,
"username": "Martin Urbanec (WMF)"
},
"43610": {
"message": "Test",
"weight": 4,
"username": "Paloi Sciurala"
},
"39808": {
"message": "Testing",
"weight": 2,
"username": "Nemoralis"
},
"50179": {
"message": "Uh-huh?",
"weight": 2,
"username": "NguoiDungKhongDinhDanh"
},
"48882": {
"message": "Hi, Welcome to Wikipedia!",
"weight": 2,
"username": "OTichonova (WMF)"
},
"34206": {
"message": "Ask me about design stuff",
"weight": 2,
"username": "RHo (WMF)"
},
"51965": {
"message": "Test wew",
"weight": 0,
"username": "SGimeno (WMF)"
},
"29210": {
"message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.啊啊啊",
"weight": 1,
"username": "Stang",
"awayTimestamp": "9999-12-30T22:36:04Z"
},
"12061": {
"message": "Blah blah blah",
"weight": 2,
"username": "Suffusion of Yellow"
},
"50053": {
"message": "Wikipedia:Requests/Help desk/Mentors to become a mentor. \u003Cimg src=1 onerror=\"alert()\"\u003E\u003C/img\u003E",
"weight": 2,
"username": "Sungodtemple"
},
"21799": {
"message": "test porpoise",
"weight": 2,
"username": "Tamzin"
},
"51768": {
"message": "Heh, hey!",
"weight": 2,
"username": "Vasmar1"
},
"1639": {
"message": null,
"weight": 2,
"username": "Wargo"
},
"29926": {
"message": "This experienced user knows you're new and can help you with editing.",
"weight": 1,
"username": "Zilant17"
},
"52081": {
"message": "testing the mentor features",
"weight": 4,
"username": "Zippybonzo"
},
"48247": {
"message": null,
"weight": 0,
"username": "Asartea"
},
"40269": {
"message": "test test test ",
"weight": 2,
"username": "KHarlan (WMF)"
},
"51514": {
"message": null,
"weight": 0,
"username": "Mentor dashboard usability test"
},
"49608": {
"message": null,
"weight": 0,
"username": "SixthGrave"
},
"20771": {
"message": null,
"weight": 0,
"username": "Tacsipacsi"
},
"46860": {
"message": null,
"weight": 0,
"username": "Valcio",
"awayTimestamp": "2268-03-04T20:22:52Z"
},
"101": {
"message": null,
"weight": 0,
"username": "Xaosflux"
},
"21990": {
"message": null,
"weight": 0,
"username": "Xiplus"
},
"44996": {
"message": "Yaaaay!",
"weight": 2,
"username": "Yahya"
},
"28192": {
"message": "test",
"weight": 2,
"username": "Abbe98"
},
"29752": {
"message": "Hello testers! ",
"weight": 2,
"username": "Trizek (WMF)"
},
"16495": {
"message": "Ffgg",
"weight": 2,
"username": "Iluvatar"
},
"3312": {
"message": "123",
"weight": 2,
"username": "Iniquity"
},
"49609": {
"message": "I will be happy to help!",
"weight": 4,
"username": "Neriah"
},
"53741": {
"message": "Hi",
"weight": 2,
"username": "Syunsyunminmin"
},
"45556": {
"message": "Hello, how can I help you today?",
"weight": 2,
"username": "Dyolf77 (WMF)"
},
"51538": {
"message": null,
"weight": 2,
"username": "Kylemaverick"
},
"37377": {
"message": "I am testing this feature 🙃",
"weight": 2,
"username": "Ата"
},
"28876": {
"message": "test",
"weight": 2,
"username": "Roan Kattouw (WMF)"
},
"52574": {
"message": "kjhjkh",
"weight": 2,
"username": "BMartinezCalvo (WMF)"
},
"43722": {
"message": null,
"weight": 2,
"username": "Ameisenigel"
},
"54146": {
"message": null,
"weight": 2,
"username": "Chqaz"
},
"54035": {
"message": "Hello testers, I'll be happy to help you!",
"weight": 0,
"username": "KStoller-WMF"
},
"61446": {
"message": "(just testing things, nevermind)",
"weight": 0,
"username": "MGrosse-WMF"
},
"31153": {
"message": "test",
"weight": 2,
"username": "Jack who built the house"
},
"46247": {
"message": "Hello! ",
"weight": 2,
"username": "Vincatest9"
},
"19016": {
"message": "Test wiki",
"weight": 2,
"username": "Jdlrobson"
},
"50416": {
"message": "Hello! I'm a test mentor. 123",
"weight": 1,
"username": "Zilant1b"
},
"34459": {
"message": null,
"weight": 0,
"username": "Jon Harald Søby (WMNO)"
},
"53420": {
"message": null,
"weight": 0,
"username": "JFernandez-WMF"
},
"24817": {
"message": "Test mentoring",
"weight": 0,
"username": "MusikAnimal"
},
"60101": {
"message": "Hi!",
"weight": 4,
"username": "Sunny Cryolite"
},
"55545": {
"message": "This experienced user knows you're new and can help you with editing.",
"weight": 4,
"username": "Martin Urbanec (public)"
},
"29017": {
"message": null,
"weight": 2,
"username": "Martin Urbanec"
},
"61465": {
"message": "Hi! I'm a WMF staff member and would like to help you with your contributions to Wikipedia!",
"weight": 2,
"username": "SPerry-WMF"
},
"34390": {
"message": "jhgnhg",
"weight": 2,
"username": "Samwalton9 (WMF)"
},
"70274": {
"message": null,
"weight": 2,
"username": "Vinca11sep01"
},
"43668": {
"message": "test",
"weight": 2,
"username": "Luky001"
},
"71432": {
"message": "mentor schmentor",
"weight": 0,
"username": "Dot.py"
},
"72171": {
"message": "Hello, and welcome! I'm SimpleObjects-9ei, and you can test stuff here. Have any questions? Just ask me.",
"weight": 4,
"username": "SimpleObjects-9ei"
},
"34042": {
"message": "Hello! I'm a test mentor.",
"weight": 2,
"username": "Zilant63"
}
}
}
kobi5o57l9jwnknl2p1h1ed5zublntf
User:Borhan/test.js
2
159779
747663
747503
2026-06-20T04:47:49Z
Borhan
54019
747663
javascript
text/javascript
// File move and replace
mw.loader.using( [ 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui-core', 'oojs-ui', 'oojs' ] ).then( function () {
var i18n_lang = mw.config.get( 'wgUserLanguage' );
var i18nFormoveAndreplace = {
'en' : {
'mainTitle' : 'Move & Replace' ,
'submit_acion' : 'Submit' ,
'cancel_acion' : 'Cancel' ,
'oldName' : 'Old File Name:' ,
'newName' : 'New File Name:' ,
'reason' : 'Reason:',
'noredirect': 'Do not leave the redirect behind',
'notsamename': 'New name should not same as old name.',
'notempty': 'New name should not empty.',
'dontClose': 'Do not Close the Dialog',
'reload': 'Reload the Page',
'reloadInst': 'Reload page When Query has stopped.',
'didnotmove': 'Did not move :(',
'moveFile': 'File has moved',
'failAftermove': 'File moved, but imageusage query failed :( Please do it manually',
'byUsing': ' ',
'notDone': 'has faild to done :( Please do it manually',
'Done': 'has done.',
'failBeforeReQu': 'Image uses has replace, But query for redirects failed :( Please do it manually',
'fixredirect': 'Fixed Redirect'
},
'bn' : {
'mainTitle' : 'স্থানান্তর ও প্রতিস্থাপন' ,
'submit_acion' : 'জমা দিন' ,
'cancel_acion' : 'বাতিল' ,
'oldName' : 'চিত্রের পুরনো নাম:' ,
'newName' : 'চিত্রের নতুন নাম:' ,
'reason' : 'কারণ:',
'noredirect': 'পুনর্নির্দেশ এড়িয়ে যান',
'notsamename': 'নতুন নাম পুরনো নামের অনুরূপ হওয়া যাবে না।',
'notempty': 'নতুন নাম খালি থাকা যাবে না।',
'dontClose': 'এই বাক্সটি বন্ধ করবেন না',
'reload': 'পাতাটি পুনরায় লোড করুন',
'reloadInst': 'কোয়েরি শেষ হলে পাতাটি পুনরায় লোড করুন।',
'didnotmove': 'স্থানান্তর করা যায়নি :(',
'moveFile': 'চিত্র স্থানান্তর করা হয়েছে',
'failAftermove': 'চিত্র স্থানান্তর করা হয়েছে, কিন্তু চিত্রের ব্যবহারের কোয়েরি ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'byUsing': ' ',
'notDone': 'সম্পন্ন হতে ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'Done': 'সম্পন্ন হয়েছে।',
'failBeforeReQu': 'চিত্রের ব্যবহার প্রতিস্থাপন করা হয়েছে, কিন্তু পুনর্নির্দেশের জন্য কোয়েরি ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'fixredirect': 'পুনর্নির্দেশ ঠিক করা হয়েছে'
}
};
function RunMoveAndReplace(){
var pageTitle = mw.config.get('wgTitle');
var Api = new mw.Api();
var sanitizeFileName = function (fn) {
return $.trim(fn.replace(/_/g, ' ')).replace(/^(?:File|Image)\:/, '');
};
var getFileRegEx = function (title, prefix) {
prefix = prefix || '[\\n\\[\\:\\=\\>\\|]\\s*';
return new RegExp('(' + prefix + ')[' + mw.RegExp.escape(title[0].toUpperCase() + title[0].toLowerCase()) + ']' + mw.RegExp.escape(
title.slice(1)).replace(/ /g, '[ _]'), 'g');
};
function MoveAndReplace( config ) {
MoveAndReplace.super.call( this, config );
}
OO.inheritClass( MoveAndReplace, OO.ui.ProcessDialog );
MoveAndReplace.static.title = i18nFormoveAndreplace[i18n_lang].mainTitle;
MoveAndReplace.static.name = 'moveAndreplace';
MoveAndReplace.static.actions = [
{ flags: [ 'primary', 'constructive' ], label: i18nFormoveAndreplace[i18n_lang].submit_acion , action: 'submit' },
{ flags: 'safe', label: i18nFormoveAndreplace[i18n_lang].cancel_acion }
];
MoveAndReplace.prototype.initialize = function () {
MoveAndReplace.super.prototype.initialize.call( this );
this.panel = new OO.ui.PanelLayout( { padded: true, expanded: false } );
this.content = new OO.ui.FieldsetLayout();
this.oldFileName = new OO.ui.TextInputWidget( { disabled: true, value: pageTitle });
this.newFileName = new OO.ui.TextInputWidget( { value: pageTitle, required: true } );
this.reason = new OO.ui.TextInputWidget( { value: '' } );
this.field1 = new OO.ui.FieldLayout( this.oldFileName, { label: i18nFormoveAndreplace[i18n_lang].oldName, align: 'top' } );
this.field2 = new OO.ui.FieldLayout( this.newFileName, { label: i18nFormoveAndreplace[i18n_lang].newName, align: 'top' } );
this.field3 = new OO.ui.FieldLayout( this.reason, { label: i18nFormoveAndreplace[i18n_lang].reason, align: 'top' } );
if ( $.inArray( 'sysop', mw.config.get('wgUserGroups') ) ) {
this.notleaveredirect = new OO.ui.CheckboxInputWidget( { selected: false } );
this.field4 = new OO.ui.FieldLayout( this.notleaveredirect, { label: i18nFormoveAndreplace[i18n_lang].noredirect, align: 'inline' } );
this.content.addItems( [ this.field1, this.field2, this.field3, this.field4 ] );
} else {
this.content.addItems( [ this.field1, this.field2, this.field3 ] );
}
this.panel.$element.append( this.content.$element );
this.$body.append( this.panel.$element );
};
MoveAndReplace.prototype.getBodyHeight = function () {
return this.panel.$element.outerHeight( true );
};
MoveAndReplace.prototype.getActionProcess = function ( action ) {
if ( action === 'submit' ) {
var OldFileName = this.oldFileName.value;
var NewFileName = this.newFileName.value;
var Reason = this.reason.value;
var notLeaveRedirect = false;
if ( $.inArray( 'sysop', mw.config.get('wgUserGroups') ) ) {
notLeaveRedirect = this.notleaveredirect.isSelected();
}
if ( OldFileName == NewFileName ) {
mw.notify( i18nFormoveAndreplace[i18n_lang].notsamename, { type: 'error' } );
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
if ( NewFileName === '' ) {
mw.notify( i18nFormoveAndreplace[i18n_lang].notempty, { type: 'error' } );
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
OldFileName = sanitizeFileName(OldFileName);
NewFileName = sanitizeFileName(NewFileName);
var dialogforResult = $('<div id="dialogforResult"></div>' ).attr('title', i18nFormoveAndreplace[i18n_lang].dontClose);
$( dialogforResult ).append($( '<ul id="divforResult"></ul>' ));
$("body").append( dialogforResult );
$( dialogforResult ).dialog({
height: 300,
width: 400,
buttons: {
Submit: {
text: i18nFormoveAndreplace[i18n_lang].reload,
click: function(){
location.reload(true);
}
}
}
});
$( '#divforResult' ).append( $( '<p>' + i18nFormoveAndreplace[i18n_lang].reloadInst + '</p>' ) );
Api.postWithToken( 'csrf', {
action: 'move',
from: 'File:' + OldFileName,
to: 'File:' + NewFileName,
reason: Reason,
watchlist: 'nochange',
movetalk: true,
noredirect: notLeaveRedirect,
ignorewarnings: true
}).fail(function( move, errResp ){
$( '#divforResult' ).append( $( '<li style="color:red">' + i18nFormoveAndreplace[i18n_lang].didnotmove + '</li>' ) );
}).done( function() {
$( '#divforResult' ).append( $( '<li style="color:green">' + i18nFormoveAndreplace[i18n_lang].moveFile + '</li>' ) );
Api.get({
action: 'query',
format: 'json',
generator: 'imageusage',
giufilterredir: 'nonredirects',
giulimit: '5000',
prop: 'info|revisions',
inprop: 'protection',
rvprop: 'content|timestamp',
giuredirect: 1,
giutitle: 'File:' + pageTitle
}).fail(function( move, errResp ){
$( '#divforResult' ).append( $( '<li style="color:red">' + i18nFormoveAndreplace[i18n_lang].failAftermove + '</li>' ) );
}).done( function (obj) {
var localUsage = obj.query.pages;
$.each(localUsage, function (id, pg) {
var oldText = pg.revisions[0]['*'],
nwe1 = mw.libs.wikiDOM.nowikiEscaper(oldText),
newText = nwe1.secureReplace(getFileRegEx(OldFileName), '$1' + NewFileName).getText();
var summary = i18nFormoveAndreplace[i18n_lang].byUsing + ' [[চিত্র:' + OldFileName + ']] → [[চিত্র:' + NewFileName + ']] ' + (Reason ? `: ${Reason}` : "");
var wpEditToken = mw.user.tokens.get( 'csrfToken' );
Api.post({
action: 'edit',
format: 'json',
title: pg.title,
text: newText,
editType: 'text',
watchlist: 'nochange',
minor: true,
summary: summary,
basetimestamp: pg.revisions[0].timestamp,
token: wpEditToken
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].notDone + '</li>' ) );
}).done( function () {
$( '#divforResult' ).append( $( '<li style="color:green">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].Done + '</i>' ) );
});
});
});
Api.get({
action: 'query',
format: 'json',
generator: 'backlinks',
gblfilterredir: 'redirects',
gbllimit: '5000',
prop: 'revisions',
rvprop: 'content',
rvslots: 'main',
gbltitle: 'File:' + pageTitle
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ i18nFormoveAndreplace[i18n_lang].failBeforeReQu +'</li>' ) );
}).done( function(redirectResult) {
if ( redirectResult.query && redirectResult.query.pages ) {
$.each( redirectResult.query.pages, function ( id, pg ) {
var wpEditToken = mw.user.tokens.get( 'csrfToken' );
var rv = pg.revisions[ 0 ]['slots']['main'][ '*' ];
Api.post({
action: 'edit',
format: 'json',
title: pg.title,
text: rv.replace( OldFileName, NewFileName ),
editType: 'text',
watchlist: 'nochange',
minor: true,
summary: i18nFormoveAndreplace[i18n_lang].fixredirect,
basetimestamp: pg.revisions[0].timestamp,
token: wpEditToken
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].notDone + '</li>' ) );
}).done( function () {
$( '#divforResult' ).append( $( '<li style="color:green">' + pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].Done + '</i>' ) );
} );
});
}
});
});
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
return MoveAndReplace.super.prototype.getActionProcess.call( this, action );
};
var windowManager = new OO.ui.WindowManager();
$( 'body' ).append( windowManager.$element );
var moveAndreplace = new MoveAndReplace();
windowManager.addWindows( [ moveAndreplace ] );
windowManager.openWindow( moveAndreplace );
}
$(document).ready( function() {
mw.loader.load( 'https://commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-libWikiDOM.js&action=raw&ctype=text/javascript' );
mw.loader.load( 'jquery.ui' );
if (mw.config.get('wgNamespaceNumber') != 6 ) {
return;
}
if ( undefined === i18nFormoveAndreplace[i18n_lang] ) {
i18n_lang = 'en' ;
}
if ( mw.config.get('wgIsRedirect') === true ) {
return;
}
var usergroup = mw.config.get('wgUserGroups');
if ( $.inArray( 'sysop', usergroup ) === -1 && $.inArray( 'filemover', usergroup ) === -1 ) {
return;
}
if ( mw.config.get('wgDBname') === 'commonswiki' ) {
return;
}
var link = mw.util.addPortletLink(
'p-cactions',
'#',
i18nFormoveAndreplace[i18n_lang].mainTitle
);
$(link).click( function( e ) {
e.preventDefault();
RunMoveAndReplace();
});
});
} );
3v1zuwetidohtln7w5jtd8pb4c1odc5
747664
747663
2026-06-20T04:50:56Z
Borhan
54019
747664
javascript
text/javascript
// File move and replace
mw.loader.using( [ 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui-core', 'oojs-ui', 'oojs' ] ).then( function () {
var i18n_lang = mw.config.get( 'wgUserLanguage' );
var i18nFormoveAndreplace = {
'en' : {
'mainTitle' : 'Move & Replace' ,
'submit_acion' : 'Submit' ,
'cancel_acion' : 'Cancel' ,
'oldName' : 'Old File Name:' ,
'newName' : 'New File Name:' ,
'reason' : 'Reason:',
'noredirect': 'Do not leave the redirect behind',
'notsamename': 'New name should not same as old name.',
'notempty': 'New name should not empty.',
'dontClose': 'Do not Close the Dialog',
'reload': 'Reload the Page',
'reloadInst': 'Reload page When Query has stopped.',
'didnotmove': 'Did not move :(',
'moveFile': 'File has moved',
'failAftermove': 'File moved, but imageusage query failed :( Please do it manually',
'byUsing': ' ',
'notDone': 'has faild to done :( Please do it manually',
'Done': 'has done.',
'failBeforeReQu': 'Image uses has replace, But query for redirects failed :( Please do it manually',
'fixredirect': 'Fixed Redirect'
},
'bn' : {
'mainTitle' : 'স্থানান্তর ও প্রতিস্থাপন' ,
'submit_acion' : 'জমা দিন' ,
'cancel_acion' : 'বাতিল' ,
'oldName' : 'চিত্রের পুরনো নাম:' ,
'newName' : 'চিত্রের নতুন নাম:' ,
'reason' : 'কারণ:',
'noredirect': 'পুনর্নির্দেশ এড়িয়ে যান',
'notsamename': 'নতুন নাম পুরনো নামের অনুরূপ হওয়া যাবে না।',
'notempty': 'নতুন নাম খালি থাকা যাবে না।',
'dontClose': 'এই বাক্সটি বন্ধ করবেন না',
'reload': 'পাতাটি পুনরায় লোড করুন',
'reloadInst': 'কোয়েরি শেষ হলে পাতাটি পুনরায় লোড করুন।',
'didnotmove': 'স্থানান্তর করা যায়নি :(',
'moveFile': 'চিত্র স্থানান্তর করা হয়েছে',
'failAftermove': 'চিত্র স্থানান্তর করা হয়েছে, কিন্তু চিত্রের ব্যবহারের কোয়েরি ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'byUsing': ' ',
'notDone': 'সম্পন্ন হতে ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'Done': 'সম্পন্ন হয়েছে।',
'failBeforeReQu': 'চিত্রের ব্যবহার প্রতিস্থাপন করা হয়েছে, কিন্তু পুনর্নির্দেশের জন্য কোয়েরি ব্যর্থ হয়েছে :( দয়া করে হাত দিয়ে ঠিক করুন',
'fixredirect': 'পুনর্নির্দেশ ঠিক করা হয়েছে'
}
};
function RunMoveAndReplace(){
var pageTitle = mw.config.get('wgTitle');
var Api = new mw.Api();
var sanitizeFileName = function (fn) {
return $.trim(fn.replace(/_/g, ' ')).replace(/^(?:File|Image)\:/, '');
};
var getFileRegEx = function (title, prefix) {
prefix = prefix || '[\\n\\[\\:\\=\\>\\|]\\s*';
return new RegExp('(' + prefix + ')[' + mw.RegExp.escape(title[0].toUpperCase() + title[0].toLowerCase()) + ']' + mw.RegExp.escape(
title.slice(1)).replace(/ /g, '[ _]'), 'g');
};
function MoveAndReplace( config ) {
MoveAndReplace.super.call( this, config );
}
OO.inheritClass( MoveAndReplace, OO.ui.ProcessDialog );
MoveAndReplace.static.title = i18nFormoveAndreplace[i18n_lang].mainTitle;
MoveAndReplace.static.name = 'moveAndreplace';
MoveAndReplace.static.actions = [
{ flags: [ 'primary', 'constructive' ], label: i18nFormoveAndreplace[i18n_lang].submit_acion , action: 'submit' },
{ flags: 'safe', label: i18nFormoveAndreplace[i18n_lang].cancel_acion }
];
MoveAndReplace.prototype.initialize = function () {
MoveAndReplace.super.prototype.initialize.call( this );
this.panel = new OO.ui.PanelLayout( { padded: true, expanded: false } );
this.content = new OO.ui.FieldsetLayout();
this.oldFileName = new OO.ui.TextInputWidget( { disabled: true, value: pageTitle });
this.newFileName = new OO.ui.TextInputWidget( { value: pageTitle, required: true } );
this.reason = new OO.ui.TextInputWidget( { value: '' } );
this.field1 = new OO.ui.FieldLayout( this.oldFileName, { label: i18nFormoveAndreplace[i18n_lang].oldName, align: 'top' } );
this.field2 = new OO.ui.FieldLayout( this.newFileName, { label: i18nFormoveAndreplace[i18n_lang].newName, align: 'top' } );
this.field3 = new OO.ui.FieldLayout( this.reason, { label: i18nFormoveAndreplace[i18n_lang].reason, align: 'top' } );
if ( $.inArray( 'sysop', mw.config.get('wgUserGroups') ) ) {
this.notleaveredirect = new OO.ui.CheckboxInputWidget( { selected: false } );
this.field4 = new OO.ui.FieldLayout( this.notleaveredirect, { label: i18nFormoveAndreplace[i18n_lang].noredirect, align: 'inline' } );
this.content.addItems( [ this.field1, this.field2, this.field3, this.field4 ] );
} else {
this.content.addItems( [ this.field1, this.field2, this.field3 ] );
}
this.panel.$element.append( this.content.$element );
this.$body.append( this.panel.$element );
};
MoveAndReplace.prototype.getBodyHeight = function () {
return this.panel.$element.outerHeight( true );
};
MoveAndReplace.prototype.getActionProcess = function ( action ) {
if ( action === 'submit' ) {
var OldFileName = this.oldFileName.value;
var NewFileName = this.newFileName.value;
var Reason = this.reason.value;
var notLeaveRedirect = false;
if ( $.inArray( 'sysop', mw.config.get('wgUserGroups') ) ) {
notLeaveRedirect = this.notleaveredirect.isSelected();
}
if ( OldFileName == NewFileName ) {
mw.notify( i18nFormoveAndreplace[i18n_lang].notsamename, { type: 'error' } );
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
if ( NewFileName === '' ) {
mw.notify( i18nFormoveAndreplace[i18n_lang].notempty, { type: 'error' } );
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
OldFileName = sanitizeFileName(OldFileName);
NewFileName = sanitizeFileName(NewFileName);
var dialogforResult = $('<div id="dialogforResult"></div>' ).attr('title', i18nFormoveAndreplace[i18n_lang].dontClose);
$( dialogforResult ).append($( '<ul id="divforResult"></ul>' ));
$("body").append( dialogforResult );
$( dialogforResult ).dialog({
height: 300,
width: 400,
buttons: {
Submit: {
text: i18nFormoveAndreplace[i18n_lang].reload,
click: function(){
location.reload(true);
}
}
}
});
$( '#divforResult' ).append( $( '<p>' + i18nFormoveAndreplace[i18n_lang].reloadInst + '</p>' ) );
Api.postWithToken( 'csrf', {
action: 'move',
from: 'File:' + OldFileName,
to: 'File:' + NewFileName,
reason: Reason,
watchlist: 'nochange',
movetalk: true,
noredirect: notLeaveRedirect,
ignorewarnings: true
}).fail(function( move, errResp ){
$( '#divforResult' ).append( $( '<li style="color:red">' + i18nFormoveAndreplace[i18n_lang].didnotmove + '</li>' ) );
}).done( function() {
$( '#divforResult' ).append( $( '<li style="color:green">' + i18nFormoveAndreplace[i18n_lang].moveFile + '</li>' ) );
Api.get({
action: 'query',
format: 'json',
generator: 'imageusage',
giufilterredir: 'nonredirects',
giulimit: '5000',
prop: 'info|revisions',
inprop: 'protection',
rvprop: 'content|timestamp',
giuredirect: 1,
giutitle: 'File:' + pageTitle
}).fail(function( move, errResp ){
$( '#divforResult' ).append( $( '<li style="color:red">' + i18nFormoveAndreplace[i18n_lang].failAftermove + '</li>' ) );
}).done( function (obj) {
var localUsage = obj.query.pages;
$.each(localUsage, function (id, pg) {
var oldText = pg.revisions[0]['*'],
nwe1 = mw.libs.wikiDOM.nowikiEscaper(oldText),
newText = nwe1.secureReplace(getFileRegEx(OldFileName), '$1' + NewFileName).getText();
var summary = i18nFormoveAndreplace[i18n_lang].byUsing + ' [[চিত্র:' + OldFileName + ']] → [[চিত্র:' + NewFileName + ']] ' + (Reason ? `: ${Reason}` : "");
var wpEditToken = mw.user.tokens.get( 'csrfToken' );
Api.post({
action: 'edit',
format: 'json',
title: pg.title,
text: newText,
editType: 'text',
watchlist: 'nochange',
minor: true,
summary: summary,
basetimestamp: pg.revisions[0].timestamp,
token: wpEditToken
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].notDone + '</li>' ) );
}).done( function () {
$( '#divforResult' ).append( $( '<li style="color:green">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].Done + '</i>' ) );
});
});
});
Api.get({
action: 'query',
format: 'json',
generator: 'backlinks',
gblfilterredir: 'redirects',
gbllimit: '5000',
prop: 'revisions',
rvprop: 'content',
rvslots: 'main',
gbltitle: 'File:' + pageTitle
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ i18nFormoveAndreplace[i18n_lang].failBeforeReQu +'</li>' ) );
}).done( function(redirectResult) {
if ( redirectResult.query && redirectResult.query.pages ) {
$.each( redirectResult.query.pages, function ( id, pg ) {
var wpEditToken = mw.user.tokens.get( 'csrfToken' );
var rv = pg.revisions[ 0 ]['slots']['main'][ '*' ];
Api.post({
action: 'edit',
format: 'json',
title: pg.title,
text: rv.replace( OldFileName, NewFileName ),
editType: 'text',
watchlist: 'nochange',
minor: true,
summary: i18nFormoveAndreplace[i18n_lang].fixredirect,
basetimestamp: pg.revisions[0].timestamp,
token: wpEditToken
}).fail(function( ){
$( '#divforResult' ).append( $( '<li style="color:red">'+ pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].notDone + '</li>' ) );
}).done( function () {
$( '#divforResult' ).append( $( '<li style="color:green">' + pg.title + ' ' + i18nFormoveAndreplace[i18n_lang].Done + '</i>' ) );
} );
});
}
});
});
return new OO.ui.Process( function () { this.close( { action: action } ); }, this );
}
return MoveAndReplace.super.prototype.getActionProcess.call( this, action );
};
var windowManager = new OO.ui.WindowManager();
$( 'body' ).append( windowManager.$element );
var moveAndreplace = new MoveAndReplace();
windowManager.addWindows( [ moveAndreplace ] );
windowManager.openWindow( moveAndreplace );
}
$(document).ready( function() {
mw.loader.load( 'https://commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-libWikiDOM.js&action=raw&ctype=text/javascript' );
mw.loader.load( 'jquery.ui' );
if (mw.config.get('wgNamespaceNumber') != 6 ) {
return;
}
if ( undefined === i18nFormoveAndreplace[i18n_lang] ) {
i18n_lang = 'en' ;
}
if ( mw.config.get('wgIsRedirect') === true ) {
return;
}
var usergroup = mw.config.get('wgUserGroups');
if ( $.inArray( 'sysop', usergroup ) === -1 && $.inArray( 'filemover', usergroup ) === -1 ) {
return;
}
if ( mw.config.get('wgDBname') === 'commonswiki' ) {
return;
}
var link = mw.util.addPortletLink(
'p-views',
'#',
i18nFormoveAndreplace[i18n_lang].mainTitle
);
$(link).click( function( e ) {
e.preventDefault();
RunMoveAndReplace();
});
});
} );
mvh1k2a4ptpinvxz91lmkln579ry4af
747665
747664
2026-06-20T04:58:16Z
Borhan
54019
Blanked the page
747665
javascript
text/javascript
phoiac9h4m842xq45sp7s6u21eteeq1
User:ARI/common.js
2
168490
747660
747148
2026-06-19T23:21:38Z
ARI
65433
747660
javascript
text/javascript
( function () {
'use strict';
/* =========================================================
CSS INJECTION
========================================================= */
var CSS = [
'/* Section Manager — injected styles */',
/* Overlay */
'#sm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:100000;display:flex;align-items:center;justify-content:center;}',
/* Main modal */
'#sm-modal{background:#fff;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.32);display:flex;flex-direction:column;font-family:inherit;overflow:hidden;}',
'@media(min-width:768px){#sm-modal{width:900px;max-width:95vw;height:80vh;}}',
'@media(max-width:767px){#sm-modal{width:100vw;height:100vh;border-radius:0;}}',
/* Header */
'#sm-header{background:#3680b0;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}',
'#sm-header h2{margin:0;font-size:1.15em;font-weight:700;letter-spacing:.01em;}',
'#sm-header-close{background:none;border:none;color:#fff;font-size:1.4em;cursor:pointer;padding:2px 6px;border-radius:3px;line-height:1;}',
'#sm-header-close:hover{background:rgba(255,255,255,.2);}',
/* Search */
'#sm-search-wrap{padding:10px 16px;border-bottom:1px solid #e0e0e0;flex-shrink:0;}',
'#sm-search{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #b0b0b0;border-radius:4px;font-size:.97em;}',
'#sm-search:focus{outline:2px solid #3680b0;outline-offset:1px;}',
/* Tree area */
'#sm-tree-wrap{flex:1;overflow-y:auto;padding:8px 12px;}',
'.sm-node{margin:0;padding:0;list-style:none;}',
'.sm-node-item{display:flex;align-items:flex-start;padding:3px 0;gap:4px;}',
'.sm-node-item label{display:flex;align-items:flex-start;gap:6px;cursor:pointer;flex:1;min-width:0;word-break:break-word;}',
'.sm-cb{width:18px;height:18px;min-width:18px;cursor:pointer;margin-top:1px;accent-color:#3680b0;}',
'@media(max-width:767px){.sm-cb{width:22px;height:22px;min-width:22px;}}',
'.sm-toggle{background:none;border:none;cursor:pointer;padding:0 3px;font-size:.85em;line-height:1.6;color:#555;min-width:18px;flex-shrink:0;}',
'.sm-toggle:hover{color:#3680b0;}',
'.sm-label{font-size:.95em;line-height:1.5;}',
'.sm-level-badge{display:inline-block;font-size:.72em;color:#888;background:#f2f2f2;border-radius:3px;padding:1px 5px;margin-left:5px;vertical-align:middle;flex-shrink:0;}',
'.sm-children{padding-left:22px;margin:0;list-style:none;}',
'.sm-hidden{display:none !important;}',
'.sm-search-match .sm-label{background:#fff3a3;border-radius:2px;}',
/* Status bar */
'#sm-status{padding:6px 16px;font-size:.9em;color:#444;background:#f7f7f7;border-top:1px solid #e0e0e0;flex-shrink:0;}',
/* Footer buttons */
'#sm-footer{padding:10px 16px;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;background:#fff;}',
'@media(max-width:767px){#sm-footer{padding:10px 12px;}}',
'.sm-btn{padding:7px 14px;border-radius:4px;font-size:.92em;cursor:pointer;border:1px solid transparent;font-family:inherit;font-weight:600;transition:background .15s;}',
'.sm-btn-primary{background:#3680b0;color:#fff;border-color:#2c6a90;}',
'.sm-btn-primary:hover{background:#2c6a90;}',
'.sm-btn-primary:disabled{background:#9ab8cd;border-color:#9ab8cd;cursor:not-allowed;}',
'.sm-btn-secondary{background:#f3f3f3;color:#222;border-color:#ccc;}',
'.sm-btn-secondary:hover{background:#e8e8e8;}',
'.sm-btn-danger{background:#cc3333;color:#fff;border-color:#a82828;}',
'.sm-btn-danger:hover{background:#a82828;}',
'@media(max-width:767px){.sm-btn{padding:10px 12px;font-size:.95em;}}',
/* Preview modal */
'#sm-preview-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:100010;display:flex;align-items:center;justify-content:center;}',
'#sm-preview-modal{background:#fff;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.32);display:flex;flex-direction:column;width:min(960px,96vw);max-height:88vh;overflow:hidden;}',
'@media(max-width:767px){#sm-preview-modal{width:100vw;max-height:100vh;border-radius:0;}}',
'#sm-preview-header{background:#3680b0;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}',
'#sm-preview-header h2{margin:0;font-size:1.05em;font-weight:700;}',
'#sm-preview-close{background:none;border:none;color:#fff;font-size:1.4em;cursor:pointer;padding:2px 6px;border-radius:3px;}',
'#sm-preview-close:hover{background:rgba(255,255,255,.2);}',
'#sm-preview-body{flex:1;overflow-y:auto;padding:16px;}',
'.sm-preview-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;}',
'@media(max-width:600px){.sm-preview-cols{grid-template-columns:1fr;}}',
'.sm-preview-col h3{margin:0 0 8px;font-size:.95em;color:#555;text-transform:uppercase;letter-spacing:.05em;font-weight:700;}',
'.sm-preview-list{list-style:none;margin:0;padding:0;}',
'.sm-preview-list li{padding:3px 6px;border-radius:3px;font-size:.9em;line-height:1.5;}',
'.sm-preview-remove{background:#fde8e8;color:#a82828;text-decoration:line-through;}',
'.sm-preview-keep{background:#e8f5e9;color:#2a6a2a;}',
'.sm-preview-removelist{margin:14px 0 0;padding:12px;background:#fff8f0;border-left:3px solid #e07020;border-radius:0 4px 4px 0;}',
'.sm-preview-removelist h3{margin:0 0 6px;font-size:.9em;text-transform:uppercase;color:#e07020;letter-spacing:.04em;}',
'.sm-preview-removelist ul{margin:0;padding-left:18px;}',
'.sm-preview-removelist ul li{font-size:.88em;color:#555;padding:1px 0;}',
/* Output modal */
'#sm-output-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:100020;display:flex;align-items:center;justify-content:center;}',
'#sm-output-modal{background:#fff;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.32);display:flex;flex-direction:column;width:min(900px,96vw);max-height:88vh;overflow:hidden;}',
'@media(max-width:767px){#sm-output-modal{width:100vw;max-height:100vh;border-radius:0;}}',
'#sm-output-header{background:#3680b0;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}',
'#sm-output-header h2{margin:0;font-size:1.05em;font-weight:700;}',
'#sm-output-close{background:none;border:none;color:#fff;font-size:1.4em;cursor:pointer;padding:2px 6px;border-radius:3px;}',
'#sm-output-close:hover{background:rgba(255,255,255,.2);}',
'#sm-output-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:12px;}',
'#sm-output-textarea{flex:1;width:100%;box-sizing:border-box;font-family:monospace;font-size:.85em;border:1px solid #ccc;border-radius:4px;padding:10px;resize:none;line-height:1.5;}',
'#sm-output-footer{padding:10px 12px;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;}',
/* Notification toast */
'#sm-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:9px 20px;border-radius:5px;font-size:.92em;z-index:100030;pointer-events:none;opacity:0;transition:opacity .25s;}',
'#sm-toast.sm-toast-show{opacity:1;}',
/* Mobile FAB */
'#sm-fab{position:fixed;bottom:20px;right:18px;z-index:9999;background:#3680b0;color:#fff;border:none;border-radius:28px;padding:12px 18px;font-size:1em;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.28);display:flex;align-items:center;gap:6px;}',
'#sm-fab:hover{background:#2c6a90;}',
/* Loading spinner */
'#sm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:#555;font-size:.95em;}',
'.sm-spinner{width:36px;height:36px;border:4px solid #e0e0e0;border-top-color:#3680b0;border-radius:50%;animation:sm-spin .7s linear infinite;}',
'@keyframes sm-spin{to{transform:rotate(360deg)}}',
/* Error box */
'.sm-error{background:#fde8e8;color:#a82828;border:1px solid #e8c0c0;border-radius:4px;padding:12px 16px;margin:12px;font-size:.93em;}',
/* Empty state */
'.sm-empty{padding:24px;text-align:center;color:#888;font-size:.95em;}',
].join( '\n' );
function injectCSS() {
if ( document.getElementById( 'sm-styles' ) ) {
return;
}
var style = document.createElement( 'style' );
style.id = 'sm-styles';
style.textContent = CSS;
document.head.appendChild( style );
}
/* =========================================================
WIKITEXT FETCHING
========================================================= */
function fetchWikitext( pageName ) {
var api = new mw.Api();
return api.get( {
action: 'query',
titles: pageName,
prop: 'revisions',
rvprop: 'content',
rvslots: 'main',
formatversion: 2,
format: 'json'
} ).then( function ( data ) {
var pages = data && data.query && data.query.pages;
if ( !pages || !pages.length ) {
return mw.when( $.Deferred().reject( 'No page data returned.' ) );
}
var page = pages[ 0 ];
if ( page.missing ) {
return mw.when( $.Deferred().reject( 'Page does not exist.' ) );
}
var slots = page.revisions && page.revisions[ 0 ] && page.revisions[ 0 ].slots;
if ( !slots || !slots.main ) {
return mw.when( $.Deferred().reject( 'Could not retrieve wikitext.' ) );
}
return slots.main.content;
} );
}
/* =========================================================
WIKITEXT PARSING — HEADINGS
========================================================= */
/**
* Strip sections of wikitext that should not contain real headings.
* We replace them with blank lines to preserve character positions.
*/
function maskFalseHeadingRegions( wikitext ) {
// Replace content of nowiki, pre, syntaxhighlight, source, poem, comment
// with spaces of the same length so indices stay aligned.
var masked = wikitext;
function blankOut( str, start, end ) {
return str.slice( 0, start ) +
str.slice( start, end ).replace( /[^\n]/g, ' ' ) +
str.slice( end );
}
// HTML comments
var commentRe = //g;
var m;
var replacements = [];
commentRe.lastIndex = 0;
while ( ( m = commentRe.exec( masked ) ) !== null ) {
replacements.push( [ m.index, m.index + m[ 0 ].length ] );
}
// Block tags
var blockTagRe = /<(nowiki|pre|syntaxhighlight|source|poem)[\s\S]*?<\/\1\s*>/gi;
blockTagRe.lastIndex = 0;
while ( ( m = blockTagRe.exec( masked ) ) !== null ) {
replacements.push( [ m.index, m.index + m[ 0 ].length ] );
}
// Self-closing nowiki
var selfCloseRe = /<nowiki\s*\/>/gi;
selfCloseRe.lastIndex = 0;
while ( ( m = selfCloseRe.exec( masked ) ) !== null ) {
replacements.push( [ m.index, m.index + m[ 0 ].length ] );
}
// Sort by start position descending and apply
replacements.sort( function ( a, b ) {
return b[ 0 ] - a[ 0 ];
} );
for ( var i = 0; i < replacements.length; i++ ) {
masked = blankOut( masked, replacements[ i ][ 0 ], replacements[ i ][ 1 ] );
}
return masked;
}
/**
* Parse headings from wikitext.
* Returns array of { level, title, lineIndex, rawLine }
*/
function parseHeadings( wikitext ) {
var masked = maskFalseHeadingRegions( wikitext );
var maskedLines = masked.split( '\n' );
var origLines = wikitext.split( '\n' );
var headings = [];
// Matches 1 to 6 equals signs at start and end.
// Note: We anchor to the end ($) because we strip trailing junk first.
var headingRe = /^\s*(={1,6})(.*?)(={1,6})$/;
// Regex to aggressively strip trailing HTML tags, comments, templates, and spaces.
// This safely exposes the closing equals signs if they are followed by <ref> tags, etc.
var trailingJunkRe = /(?:<[^>]*>||\{\{[^{}]*\}\}|\s)+$/;
for ( var i = 0; i < maskedLines.length; i++ ) {
var maskedLine = maskedLines[ i ];
var origLine = origLines[ i ] || '';
// MediaWiki treats lines starting with a space/tab as preformatted text, not headings.
if ( origLine.charAt( 0 ) === ' ' || origLine.charAt( 0 ) === '\t' ) {
continue;
}
// Clean trailing junk to expose the closing equals signs
var strippedLine = maskedLine.replace( trailingJunkRe, '' );
// Run regex on the stripped line
var hm = headingRe.exec( strippedLine );
if ( !hm ) {
continue;
}
var openingLen = hm[ 1 ].length;
var closingLen = hm[ 3 ].length;
// MediaWiki handles mismatched equals by taking the minimum length
var level = Math.min( openingLen, closingLen );
// Enforce H2 to H6 limits
if ( level < 2 || level > 6 ) {
continue;
}
// Calculate indices based on the strippedLine length, mapping perfectly to origLine.
var equalsStartIndex = strippedLine.indexOf( hm[ 1 ] );
var titleStartIndex = equalsStartIndex + level;
var closingMatchIndex = strippedLine.length - level;
// Extract title from original line to preserve templates/formatting.
var titleRaw = origLine.substring( titleStartIndex, closingMatchIndex );
headings.push( {
level: level,
title: titleRaw.trim(),
lineIndex: i,
rawLine: origLine
} );
}
return headings;
}
/**
* Build a tree from flat headings array.
* Each node: { id, level, title, lineIndex, children, parent }
*/
function buildTree( headings ) {
var roots = [];
var stack = []; // stack of nodes at each level
for ( var i = 0; i < headings.length; i++ ) {
var h = headings[ i ];
var node = {
id: i,
level: h.level,
title: h.title,
lineIndex: h.lineIndex,
children: [],
parent: null
};
// Pop stack until we find a node with lower level
while ( stack.length && stack[ stack.length - 1 ].level >= h.level ) {
stack.pop();
}
if ( stack.length === 0 ) {
roots.push( node );
} else {
var parentNode = stack[ stack.length - 1 ];
node.parent = parentNode;
parentNode.children.push( node );
}
stack.push( node );
}
return roots;
}
/**
* Given a node id and the flat headings list and total line count,
* determine which lines belong to that section (inclusive).
* The section spans from its own line to just before the next heading
* of equal or higher level (lower or equal number).
*/
function getSectionLineRange( nodeId, headings, totalLines ) {
var h = headings[ nodeId ];
var start = h.lineIndex;
var end = totalLines - 1;
for ( var j = nodeId + 1; j < headings.length; j++ ) {
if ( headings[ j ].level <= h.level ) {
end = headings[ j ].lineIndex - 1;
break;
}
}
return { start: start, end: end };
}
/**
* Generate cleaned wikitext by removing selected sections.
* selectedIds: Set-like object { id: true }
*/
function generateCleanWikitext( wikitext, headings, selectedIds ) {
var lines = wikitext.split( '\n' );
var totalLines = lines.length;
// Build a set of line ranges to remove
var linesToRemove = {};
// Sort selected ids
var ids = Object.keys( selectedIds ).map( Number );
ids.sort( function ( a, b ) {
return a - b;
} );
// For each selected id, if no ancestor is also selected, mark its lines
for ( var i = 0; i < ids.length; i++ ) {
var id = ids[ i ];
var h = headings[ id ];
var ancestorSelected = false;
for ( var j = 0; j < id; j++ ) {
if ( selectedIds[ j ] && headings[ j ].level < h.level ) {
var aRange = getSectionLineRange( j, headings, totalLines );
if ( h.lineIndex >= aRange.start && h.lineIndex <= aRange.end ) {
ancestorSelected = true;
break;
}
}
}
if ( !ancestorSelected ) {
var range = getSectionLineRange( id, headings, totalLines );
for ( var li = range.start; li <= range.end; li++ ) {
linesToRemove[ li ] = true;
}
}
}
// Build output
var output = [];
for ( var k = 0; k < lines.length; k++ ) {
if ( !linesToRemove[ k ] ) {
output.push( lines[ k ] );
}
}
// Collapse more than 2 consecutive blank lines into 2
var result = output.join( '\n' ).replace( /\n{3,}/g, '\n\n' );
return result;
}
/* =========================================================
TOAST NOTIFICATION
========================================================= */
var toastTimer = null;
function showToast( msg ) {
var toast = document.getElementById( 'sm-toast' );
if ( !toast ) {
toast = document.createElement( 'div' );
toast.id = 'sm-toast';
document.body.appendChild( toast );
}
toast.textContent = msg;
toast.classList.add( 'sm-toast-show' );
if ( toastTimer ) {
clearTimeout( toastTimer );
}
toastTimer = setTimeout( function () {
toast.classList.remove( 'sm-toast-show' );
}, 2500 );
}
/* =========================================================
OUTPUT MODAL
========================================================= */
function openOutputModal( cleanWikitext, pageName ) {
var existing = document.getElementById( 'sm-output-overlay' );
if ( existing ) existing.remove();
var overlay = document.createElement( 'div' );
overlay.id = 'sm-output-overlay';
overlay.setAttribute( 'role', 'dialog' );
overlay.setAttribute( 'aria-modal', 'true' );
overlay.setAttribute( 'aria-label', 'Generated Wikitext' );
var modal = document.createElement( 'div' );
modal.id = 'sm-output-modal';
var hdr = document.createElement( 'div' );
hdr.id = 'sm-output-header';
var hdrTitle = document.createElement( 'h2' );
hdrTitle.textContent = 'Generated Wikitext';
var closeBtn = document.createElement( 'button' );
closeBtn.id = 'sm-output-close';
closeBtn.textContent = '✕';
closeBtn.addEventListener( 'click', function () { overlay.remove(); } );
hdr.appendChild( hdrTitle );
hdr.appendChild( closeBtn );
var body = document.createElement( 'div' );
body.id = 'sm-output-body';
var textarea = document.createElement( 'textarea' );
textarea.id = 'sm-output-textarea';
textarea.value = cleanWikitext;
textarea.setAttribute( 'spellcheck', 'false' );
body.appendChild( textarea );
var footer = document.createElement( 'div' );
footer.id = 'sm-output-footer';
var copyBtn = document.createElement( 'button' );
copyBtn.className = 'sm-btn sm-btn-primary';
copyBtn.textContent = '📋 Copy to Clipboard';
copyBtn.addEventListener( 'click', function () {
if ( navigator.clipboard && navigator.clipboard.writeText ) {
navigator.clipboard.writeText( textarea.value ).then( function () {
showToast( '✓ Copied to clipboard!' );
} ).catch( function () {
fallbackCopy( textarea );
showToast( '✓ Copied to clipboard!' );
} );
} else {
fallbackCopy( textarea );
showToast( '✓ Copied to clipboard!' );
}
} );
var dlBtn = document.createElement( 'button' );
dlBtn.className = 'sm-btn sm-btn-secondary';
dlBtn.textContent = '⬇ Download TXT';
dlBtn.addEventListener( 'click', function () {
var blob = new Blob( [ textarea.value ], { type: 'text/plain;charset=utf-8' } );
var url = URL.createObjectURL( blob );
var a = document.createElement( 'a' );
a.href = url;
a.download = 'article-cleaned.txt';
a.click();
setTimeout( function () { URL.revokeObjectURL( url ); }, 2000 );
} );
var editBtn = document.createElement( 'button' );
editBtn.className = 'sm-btn sm-btn-secondary';
editBtn.textContent = '✏ Open Edit Page';
editBtn.addEventListener( 'click', function () {
var editUrl = mw.util.getUrl( pageName, { action: 'edit' } );
var win = window.open( editUrl, '_blank' );
if ( win ) {
win.addEventListener( 'load', function () {
try {
var editBox = win.document.getElementById( 'wpTextbox1' );
if ( editBox ) editBox.value = textarea.value;
} catch ( e ) {}
} );
}
showToast( 'Opened edit page. Paste the wikitext manually if needed.' );
} );
var closeBtnFooter = document.createElement( 'button' );
closeBtnFooter.className = 'sm-btn sm-btn-secondary';
closeBtnFooter.textContent = 'Close';
closeBtnFooter.addEventListener( 'click', function () { overlay.remove(); } );
footer.appendChild( copyBtn );
footer.appendChild( dlBtn );
footer.appendChild( editBtn );
footer.appendChild( closeBtnFooter );
modal.appendChild( hdr );
modal.appendChild( body );
modal.appendChild( footer );
overlay.appendChild( modal );
document.body.appendChild( overlay );
textarea.focus();
overlay.addEventListener( 'keydown', function ( e ) {
if ( e.key === 'Escape' ) overlay.remove();
} );
}
function fallbackCopy( textarea ) {
textarea.select();
try { document.execCommand( 'copy' ); } catch ( e ) {}
}
/* =========================================================
PREVIEW MODAL
========================================================= */
function openPreviewModal( headings, roots, selectedIds ) {
var existing = document.getElementById( 'sm-preview-overlay' );
if ( existing ) existing.remove();
var overlay = document.createElement( 'div' );
overlay.id = 'sm-preview-overlay';
overlay.setAttribute( 'role', 'dialog' );
overlay.setAttribute( 'aria-modal', 'true' );
var modal = document.createElement( 'div' );
modal.id = 'sm-preview-modal';
var hdr = document.createElement( 'div' );
hdr.id = 'sm-preview-header';
var hdrTitle = document.createElement( 'h2' );
hdrTitle.textContent = 'Preview Changes';
var closeBtn = document.createElement( 'button' );
closeBtn.id = 'sm-preview-close';
closeBtn.textContent = '✕';
closeBtn.addEventListener( 'click', function () { overlay.remove(); } );
hdr.appendChild( hdrTitle );
hdr.appendChild( closeBtn );
var body = document.createElement( 'div' );
body.id = 'sm-preview-body';
var flatList = [];
function walk( nodes, pathParts ) {
for ( var i = 0; i < nodes.length; i++ ) {
var n = nodes[ i ];
var path = pathParts.concat( n.title );
var removed = !!selectedIds[ n.id ];
flatList.push( { id: n.id, title: n.title, level: n.level, removed: removed, path: path } );
walk( n.children, path );
}
}
walk( roots, [] );
var cols = document.createElement( 'div' );
cols.className = 'sm-preview-cols';
var leftCol = document.createElement( 'div' );
var leftTitle = document.createElement( 'h3' );
leftTitle.textContent = 'Original Structure';
var leftList = document.createElement( 'ul' );
leftList.className = 'sm-preview-list';
var rightCol = document.createElement( 'div' );
var rightTitle = document.createElement( 'h3' );
rightTitle.textContent = 'Remaining Structure';
var rightList = document.createElement( 'ul' );
rightList.className = 'sm-preview-list';
for ( var i = 0; i < flatList.length; i++ ) {
var item = flatList[ i ];
var indent = ( item.level - 2 ) * 14;
var li1 = document.createElement( 'li' );
li1.style.paddingLeft = indent + 'px';
li1.textContent = item.title;
if ( item.removed ) {
li1.classList.add( 'sm-preview-remove' );
} else {
li1.classList.add( 'sm-preview-keep' );
}
leftList.appendChild( li1 );
if ( !item.removed ) {
var li2 = document.createElement( 'li' );
li2.style.paddingLeft = indent + 'px';
li2.textContent = item.title;
li2.classList.add( 'sm-preview-keep' );
rightList.appendChild( li2 );
}
}
leftCol.appendChild( leftTitle );
leftCol.appendChild( leftList );
rightCol.appendChild( rightTitle );
rightCol.appendChild( rightList );
cols.appendChild( leftCol );
cols.appendChild( rightCol );
body.appendChild( cols );
var toRemove = flatList.filter( function ( x ) { return x.removed; } );
if ( toRemove.length > 0 ) {
var removeBlock = document.createElement( 'div' );
removeBlock.className = 'sm-preview-removelist';
var removeTitle = document.createElement( 'h3' );
removeTitle.textContent = 'Sections to Remove:';
var removeUl = document.createElement( 'ul' );
for ( var j = 0; j < toRemove.length; j++ ) {
var rli = document.createElement( 'li' );
rli.textContent = toRemove[ j ].path.join( ' › ' );
removeUl.appendChild( rli );
}
removeBlock.appendChild( removeTitle );
removeBlock.appendChild( removeUl );
body.appendChild( removeBlock );
} else {
var noneP = document.createElement( 'p' );
noneP.style.cssText = 'color:#888;margin-top:16px;font-size:.92em;';
noneP.textContent = 'No sections selected for removal.';
body.appendChild( noneP );
}
modal.appendChild( hdr );
modal.appendChild( body );
overlay.appendChild( modal );
document.body.appendChild( overlay );
overlay.addEventListener( 'keydown', function ( e ) {
if ( e.key === 'Escape' ) overlay.remove();
} );
modal.setAttribute( 'tabindex', '-1' );
modal.focus();
}
/* =========================================================
TREE UI
========================================================= */
function buildTreeUI( roots, headings, onStatusChange ) {
var selectedIds = {};
var nodeEls = {};
var expandedState = {};
function setChecked( id, checked ) {
selectedIds[ id ] = checked;
var el = nodeEls[ id ];
if ( el ) {
el.cbEl.checked = checked;
el.cbEl.indeterminate = false;
}
}
function setDescendants( node, checked ) {
setChecked( node.id, checked );
for ( var i = 0; i < node.children.length; i++ ) {
setDescendants( node.children[ i ], checked );
}
}
function updateAncestors( node ) {
if ( !node.parent ) return;
var p = node.parent;
var allChecked = true;
var anyChecked = false;
for ( var i = 0; i < p.children.length; i++ ) {
var cid = p.children[ i ].id;
if ( selectedIds[ cid ] ) anyChecked = true;
else allChecked = false;
}
var pel = nodeEls[ p.id ];
if ( pel ) {
if ( allChecked ) {
pel.cbEl.checked = true;
pel.cbEl.indeterminate = false;
selectedIds[ p.id ] = true;
} else if ( anyChecked ) {
pel.cbEl.checked = false;
pel.cbEl.indeterminate = true;
selectedIds[ p.id ] = false;
} else {
pel.cbEl.checked = false;
pel.cbEl.indeterminate = false;
selectedIds[ p.id ] = false;
}
}
updateAncestors( p );
}
function countSelected() {
var n = 0;
var ids = Object.keys( selectedIds );
for ( var i = 0; i < ids.length; i++ ) {
if ( selectedIds[ ids[ i ] ] ) n++;
}
return n;
}
function buildNodeEl( node ) {
var li = document.createElement( 'li' );
li.className = 'sm-node';
var itemDiv = document.createElement( 'div' );
itemDiv.className = 'sm-node-item';
var toggleBtn = document.createElement( 'button' );
toggleBtn.className = 'sm-toggle';
if ( node.children.length > 0 ) {
expandedState[ node.id ] = true;
toggleBtn.textContent = '▼';
} else {
toggleBtn.textContent = ' ';
toggleBtn.style.visibility = 'hidden';
}
var cb = document.createElement( 'input' );
cb.type = 'checkbox';
cb.className = 'sm-cb';
cb.id = 'sm-cb-' + node.id;
var lbl = document.createElement( 'label' );
lbl.htmlFor = 'sm-cb-' + node.id;
var labelSpan = document.createElement( 'span' );
labelSpan.className = 'sm-label';
labelSpan.textContent = node.title;
var levelBadge = document.createElement( 'span' );
levelBadge.className = 'sm-level-badge';
levelBadge.textContent = 'H' + node.level;
lbl.appendChild( cb );
lbl.appendChild( labelSpan );
lbl.appendChild( levelBadge );
var childrenUl = null;
if ( node.children.length > 0 ) {
childrenUl = document.createElement( 'ul' );
childrenUl.className = 'sm-children';
for ( var ci = 0; ci < node.children.length; ci++ ) {
childrenUl.appendChild( buildNodeEl( node.children[ ci ] ) );
}
}
if ( node.children.length > 0 ) {
toggleBtn.addEventListener( 'click', function ( toggleBtnRef, nodeRef, childrenUlRef ) {
return function () {
expandedState[ nodeRef.id ] = !expandedState[ nodeRef.id ];
if ( expandedState[ nodeRef.id ] ) {
toggleBtnRef.textContent = '▼';
childrenUlRef.classList.remove( 'sm-hidden' );
} else {
toggleBtnRef.textContent = '▶';
childrenUlRef.classList.add( 'sm-hidden' );
}
};
}( toggleBtn, node, childrenUl ) );
}
cb.addEventListener( 'change', function ( nodeRef ) {
return function () {
var checked = cb.checked;
cb.indeterminate = false;
selectedIds[ nodeRef.id ] = checked;
setDescendants( nodeRef, checked );
updateAncestors( nodeRef );
onStatusChange( countSelected() );
};
}( node ) );
itemDiv.appendChild( toggleBtn );
itemDiv.appendChild( lbl );
li.appendChild( itemDiv );
if ( childrenUl ) li.appendChild( childrenUl );
nodeEls[ node.id ] = { cbEl: cb, liEl: li, labelSpan: labelSpan, childrenUl: childrenUl };
return li;
}
var ul = document.createElement( 'ul' );
ul.className = 'sm-node';
for ( var i = 0; i < roots.length; i++ ) {
ul.appendChild( buildNodeEl( roots[ i ] ) );
}
function applySearch( query ) {
query = query.trim().toLowerCase();
if ( !query ) {
var allIds = Object.keys( nodeEls );
for ( var i = 0; i < allIds.length; i++ ) {
var id = allIds[ i ];
nodeEls[ id ].liEl.classList.remove( 'sm-hidden' );
nodeEls[ id ].labelSpan.classList.remove( 'sm-search-match' );
if ( nodeEls[ id ].childrenUl && expandedState[ id ] ) {
nodeEls[ id ].childrenUl.classList.remove( 'sm-hidden' );
}
}
return;
}
var matchIds = {};
var allIds2 = Object.keys( nodeEls );
for ( var j = 0; j < allIds2.length; j++ ) {
var nid = allIds2[ j ];
var nodeTitle = nodeEls[ nid ].labelSpan.textContent.toLowerCase();
if ( nodeTitle.indexOf( query ) !== -1 ) matchIds[ nid ] = true;
}
function getAncestorIds( nodeId ) {
var h = headings[ nodeId ];
var result = {};
for ( var k = nodeId - 1; k >= 0; k-- ) {
if ( headings[ k ].level < h.level ) {
result[ k ] = true;
h = headings[ k ];
}
}
return result;
}
var visibleIds = {};
var matchArr = Object.keys( matchIds );
for ( var m = 0; m < matchArr.length; m++ ) {
visibleIds[ matchArr[ m ] ] = true;
var ancs = getAncestorIds( Number( matchArr[ m ] ) );
var ancKeys = Object.keys( ancs );
for ( var a = 0; a < ancKeys.length; a++ ) {
visibleIds[ ancKeys[ a ] ] = true;
}
}
var allIds3 = Object.keys( nodeEls );
for ( var n = 0; n < allIds3.length; n++ ) {
var nid2 = allIds3[ n ];
var nel = nodeEls[ nid2 ];
if ( visibleIds[ nid2 ] ) {
nel.liEl.classList.remove( 'sm-hidden' );
if ( matchIds[ nid2 ] ) nel.labelSpan.classList.add( 'sm-search-match' );
else nel.labelSpan.classList.remove( 'sm-search-match' );
if ( nel.childrenUl ) nel.childrenUl.classList.remove( 'sm-hidden' );
} else {
nel.liEl.classList.add( 'sm-hidden' );
nel.labelSpan.classList.remove( 'sm-search-match' );
}
}
}
return {
el: ul,
selectedIds: selectedIds,
applySearch: applySearch
};
}
/* =========================================================
MAIN MODAL
========================================================= */
function openMainModal( pageName ) {
var existing = document.getElementById( 'sm-overlay' );
if ( existing ) existing.remove();
var overlay = document.createElement( 'div' );
overlay.id = 'sm-overlay';
overlay.setAttribute( 'role', 'dialog' );
var modal = document.createElement( 'div' );
modal.id = 'sm-modal';
var hdr = document.createElement( 'div' );
hdr.id = 'sm-header';
var hdrTitle = document.createElement( 'h2' );
hdrTitle.textContent = '📑 Section Manager';
var hdrClose = document.createElement( 'button' );
hdrClose.id = 'sm-header-close';
hdrClose.textContent = '✕';
hdrClose.addEventListener( 'click', function () { overlay.remove(); } );
hdr.appendChild( hdrTitle );
hdr.appendChild( hdrClose );
var searchWrap = document.createElement( 'div' );
searchWrap.id = 'sm-search-wrap';
var searchInput = document.createElement( 'input' );
searchInput.id = 'sm-search';
searchInput.type = 'search';
searchInput.placeholder = 'Search headings…';
searchWrap.appendChild( searchInput );
var treeWrap = document.createElement( 'div' );
treeWrap.id = 'sm-tree-wrap';
var loadingDiv = document.createElement( 'div' );
loadingDiv.id = 'sm-loading';
loadingDiv.innerHTML = '<div class="sm-spinner"></div><span>Fetching article…</span>';
treeWrap.appendChild( loadingDiv );
var statusBar = document.createElement( 'div' );
statusBar.id = 'sm-status';
statusBar.textContent = 'Selected sections: 0';
var footer = document.createElement( 'div' );
footer.id = 'sm-footer';
var previewBtn = document.createElement( 'button' );
previewBtn.className = 'sm-btn sm-btn-secondary';
previewBtn.textContent = '🔍 Preview Changes';
previewBtn.disabled = true;
var generateBtn = document.createElement( 'button' );
generateBtn.className = 'sm-btn sm-btn-primary';
generateBtn.textContent = '⚙ Generate Clean Wikitext';
generateBtn.disabled = true;
var closeBtn = document.createElement( 'button' );
closeBtn.className = 'sm-btn sm-btn-secondary';
closeBtn.textContent = 'Close';
closeBtn.addEventListener( 'click', function () { overlay.remove(); } );
footer.appendChild( previewBtn );
footer.appendChild( generateBtn );
footer.appendChild( closeBtn );
modal.appendChild( hdr );
modal.appendChild( searchWrap );
modal.appendChild( treeWrap );
modal.appendChild( statusBar );
modal.appendChild( footer );
overlay.appendChild( modal );
document.body.appendChild( overlay );
overlay.addEventListener( 'keydown', function ( e ) {
if ( e.key === 'Escape' ) overlay.remove();
} );
fetchWikitext( pageName ).then( function ( wikitext ) {
treeWrap.innerHTML = '';
var headings = parseHeadings( wikitext );
if ( headings.length === 0 ) {
var emptyDiv = document.createElement( 'div' );
emptyDiv.className = 'sm-empty';
emptyDiv.textContent = 'No headings found in this article.';
treeWrap.appendChild( emptyDiv );
return;
}
var roots = buildTree( headings );
var tree = buildTreeUI( roots, headings, function ( count ) {
statusBar.textContent = 'Selected sections: ' + count;
var hasSelection = count > 0;
previewBtn.disabled = !hasSelection;
generateBtn.disabled = !hasSelection;
} );
treeWrap.appendChild( tree.el );
var searchDebounce = null;
searchInput.addEventListener( 'input', function () {
clearTimeout( searchDebounce );
searchDebounce = setTimeout( function () {
tree.applySearch( searchInput.value );
}, 120 );
} );
previewBtn.addEventListener( 'click', function () {
openPreviewModal( headings, roots, tree.selectedIds );
} );
generateBtn.addEventListener( 'click', function () {
var cleanText = generateCleanWikitext( wikitext, headings, tree.selectedIds );
openOutputModal( cleanText, pageName );
} );
} ).catch( function ( err ) {
treeWrap.innerHTML = '';
var errDiv = document.createElement( 'div' );
errDiv.className = 'sm-error';
errDiv.textContent = 'Error: ' + ( err || 'Could not fetch article wikitext.' );
treeWrap.appendChild( errDiv );
} );
setTimeout( function () { searchInput.focus(); }, 100 );
}
/* =========================================================
ENTRY POINT — DETECT SKIN & ADD LINK
========================================================= */
function launch() {
injectCSS();
var pageName = mw.config.get( 'wgPageName' );
openMainModal( pageName );
}
function isMobile() {
return mw.config.get( 'skin' ) === 'minerva' ||
document.documentElement.classList.contains( 'mw-mf' ) ||
( typeof mw.config.get( 'wgMFMode' ) === 'string' ) ||
window.matchMedia( '(max-width: 767px)' ).matches;
}
function addDesktopLink() {
var addedVia = null;
var cactions = document.getElementById( 'p-cactions' );
if ( cactions ) {
var item = document.createElement( 'li' );
item.id = 'ca-section-manager';
var link = document.createElement( 'a' );
link.textContent = 'Section Manager';
link.href = '#';
link.addEventListener( 'click', function ( e ) {
e.preventDefault();
launch();
} );
item.appendChild( link );
var ul = cactions.querySelector( 'ul' );
if ( ul ) {
ul.appendChild( item );
addedVia = 'cactions';
}
}
if ( !addedVia ) {
var tb = document.getElementById( 'p-tb' );
if ( tb ) {
var ulTb = tb.querySelector( 'ul' );
if ( ulTb ) {
var liTb = document.createElement( 'li' );
liTb.id = 'ca-section-manager';
var aTb = document.createElement( 'a' );
aTb.textContent = 'Section Manager';
aTb.href = '#';
aTb.addEventListener( 'click', function ( e ) {
e.preventDefault();
launch();
} );
liTb.appendChild( aTb );
ulTb.appendChild( liTb );
addedVia = 'toolbox';
}
}
}
if ( !addedVia ) {
var views = document.getElementById( 'p-views' );
if ( views ) {
var ulViews = views.querySelector( 'ul' );
if ( ulViews ) {
var liViews = document.createElement( 'li' );
liViews.id = 'ca-section-manager';
var aViews = document.createElement( 'a' );
aViews.textContent = 'Section Manager';
aViews.href = '#';
aViews.addEventListener( 'click', function ( e ) {
e.preventDefault();
launch();
} );
liViews.appendChild( aViews );
ulViews.appendChild( liViews );
addedVia = 'views';
}
}
}
if ( !addedVia ) {
mw.util.addPortletLink( 'p-cactions', '#', 'Section Manager', 'ca-section-manager', 'Section Manager', null, null );
var fallbackEl = document.getElementById( 'ca-section-manager' );
if ( fallbackEl ) {
fallbackEl.addEventListener( 'click', function ( e ) {
e.preventDefault();
launch();
} );
}
}
}
function addMobileLink() {
var mobileMenuList = document.querySelector( '#mw-ui-toolbar-container ul' ) ||
document.querySelector( '.minerva-footer-menu ul' ) ||
document.querySelector( '#page-actions ul' );
if ( mobileMenuList ) {
var li = document.createElement( 'li' );
var a = document.createElement( 'a' );
a.textContent = '📑 Section Manager';
a.href = '#';
a.style.cssText = 'display:block;padding:10px 14px;font-size:1em;';
a.addEventListener( 'click', function ( e ) {
e.preventDefault();
launch();
} );
li.appendChild( a );
mobileMenuList.appendChild( li );
return;
}
var fab = document.createElement( 'button' );
fab.id = 'sm-fab';
fab.innerHTML = '📑 Section Manager';
fab.addEventListener( 'click', function () { launch(); } );
document.body.appendChild( fab );
}
mw.loader.using( [ 'mediawiki.api', 'mediawiki.util' ], function () {
var ns = mw.config.get( 'wgNamespaceNumber' );
if ( ns === -1 ) return;
$( function () {
if ( isMobile() ) addMobileLink();
else addDesktopLink();
} );
} );
}() );
9nz3z252xhjsjsv4hui2qyc2g658wkr
Mergetest1
0
176325
747609
747577
2026-06-19T19:22:36Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747609
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
5j2y2vvckiumwhyp66t8i1wkjwtcqve
747620
747609
2026-06-19T19:35:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747620
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
n3w08r9gigv10kdfvuxrxqjfbwxp8o0
747624
747620
2026-06-19T19:39:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747624
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
8on2e8clzevhrnrq43t0dva9c7jcl12
747628
747624
2026-06-19T19:39:54Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747628
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
sz7ntxww1v24my7scr7sy92e3zbawus
747636
747628
2026-06-19T19:41:08Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747636
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
lt28nmvn8vkyiv6fywp28cctgkx0r3f
747647
747636
2026-06-19T19:42:43Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747647
wikitext
text/x-wiki
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}}
6bwktgnhnyb1y34yzdn9vpzcqrz84zg
Mergetest2
0
176326
747610
747531
2026-06-19T19:22:36Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747610
wikitext
text/x-wiki
I should get a merger to me
==Section 1==
{{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=19 June 2026}}
==Section 2==
{{merge}}
4qepuydaah557dw7oyie8sjw0egyzn5
Talk:Mergetest1
1
176335
747608
747576
2026-06-19T19:22:36Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747608
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination)}}
qqt94ctcorq59xabvd88ib49k0ta1yv
747619
747608
2026-06-19T19:35:00Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747619
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination) |date59=18 June 2026 |result59='''Merge''' |page59=Mergetest1 (2nd nomination)}}
jywe03lg36d2rbcpvs5nsm96iw69nwb
747622
747619
2026-06-19T19:39:00Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747622
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination) |date59=18 June 2026 |result59='''Merge''' |page59=Mergetest1 (2nd nomination) |date60=18 June 2026 |result60='''Merge''' |page60=Mergetest1 (2nd nomination)}}
hyt6p81hldxq5yuqzkdo1p66tk6i890
747626
747622
2026-06-19T19:39:54Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747626
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination) |date59=18 June 2026 |result59='''Merge''' |page59=Mergetest1 (2nd nomination) |date60=18 June 2026 |result60='''Merge''' |page60=Mergetest1 (2nd nomination) |date61=18 June 2026 |result61='''Merge''' |page61=Mergetest1 (2nd nomination)}}
myivk84o8bbc2e1pf05ce1z8jq605qo
747635
747626
2026-06-19T19:41:08Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747635
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination) |date59=18 June 2026 |result59='''Merge''' |page59=Mergetest1 (2nd nomination) |date60=18 June 2026 |result60='''Merge''' |page60=Mergetest1 (2nd nomination) |date61=18 June 2026 |result61='''Merge''' |page61=Mergetest1 (2nd nomination) |date62=18 June 2026 |result62='''Merge''' |page62=Mergetest1 (2nd nomination)}}
6svudiv7t1hf0p9q4ik8fia19uma5jw
747644
747635
2026-06-19T19:42:43Z
Trialpears
43074
Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747644
wikitext
text/x-wiki
{{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination) |date59=18 June 2026 |result59='''Merge''' |page59=Mergetest1 (2nd nomination) |date60=18 June 2026 |result60='''Merge''' |page60=Mergetest1 (2nd nomination) |date61=18 June 2026 |result61='''Merge''' |page61=Mergetest1 (2nd nomination) |date62=18 June 2026 |result62='''Merge''' |page62=Mergetest1 (2nd nomination) |date63=18 June 2026 |result63='''Merge''' |page63=Mergetest1 (2nd nomination)}}
og2ce3bdyq3fdsal31qem749mom16ps
Talk:Mergetest2
1
176336
747611
747578
2026-06-19T19:22:36Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747611
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
26bnxundi7w30ouu2n3rd2jt31noz8z
747618
747611
2026-06-19T19:35:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747618
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
8mdxzew8nsigsu1hndfl0ne1x1lzued
747623
747618
2026-06-19T19:39:00Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747623
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
33tnws8dwfm5wfc5hoscyku3nxzyqie
747627
747623
2026-06-19T19:39:54Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747627
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
ecrs76d897w7ak3ae7wakuxdl1j32sq
747634
747627
2026-06-19T19:41:07Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747634
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
r3wvc4cfefkynw9f528ufa14ju9lqmj
747646
747634
2026-06-19T19:42:43Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747646
wikitext
text/x-wiki
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=19 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
{{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}}
9vme2mgb57u3vdwv0tnb9qnro7nszu9
Mergetest3
0
176339
747603
747568
2026-06-19T18:56:26Z
Trialpears
43074
747603
wikitext
text/x-wiki
{{merge|otherpage|talk=Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)}}
rnmnaqjklprytkzmu3wxtq9jeekn0v1
747637
747603
2026-06-19T19:41:40Z
Trialpears
43074
Blanked the page
747637
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
747640
747637
2026-06-19T19:42:20Z
Trialpears
43074
Restored revision 747603 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]])
747640
wikitext
text/x-wiki
{{merge|otherpage|talk=Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)}}
rnmnaqjklprytkzmu3wxtq9jeekn0v1
747645
747640
2026-06-19T19:42:43Z
Trialpears
43074
[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747645
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)
4
176383
747607
747573
2026-06-19T19:22:35Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747607
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
9j2rl8rfi4nmlgn9xzyvhn9ruu3ocrg
747617
747607
2026-06-19T19:34:59Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747617
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:34, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
aj7m6yfzkvtb5tcqwnbbtd0eb97s90j
747621
747617
2026-06-19T19:38:59Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747621
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:34, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:38, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
hj4rmmtwdj3n5smgwd8r8w8isemetx4
747625
747621
2026-06-19T19:39:53Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747625
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:34, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:38, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:39, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
rhuku68uz7yz7fboeazq5nqz40u9o2h
747633
747625
2026-06-19T19:41:07Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747633
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:34, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:38, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:39, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:41, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
8784wlwfo6t247k2rcxsh5tvh4ewmok
747643
747633
2026-06-19T19:42:42Z
Trialpears
43074
/* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]])
747643
wikitext
text/x-wiki
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC)
. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:22, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:34, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:38, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:39, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:41, 19 June 2026 (UTC)
to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 19:42, 19 June 2026 (UTC)
===[[:Mergetest1]]===
<div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div>
<noinclude>{{AFD help}}</noinclude>
:{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>)
:({{Find sources AFD|Mergetest1}})
I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC)
7cewgsn4elh89med9gw5q8b0c96rtoh
Ntejk
0
176395
747600
2026-06-19T16:55:21Z
Marcin maga
74526
Created page with "'''''Ntajaka''''' low ondio '''conlang'''! == Mowrgalogi == Ta Valwodo..."
747600
wikitext
text/x-wiki
'''''Ntajaka''''' low ondio '''conlang'''!
== Mowrgalogi ==
Ta Valwodo...
1l9pnhgerg9n0au9rln8e1bclt49ox9
Archive Removal Page
0
176396
747601
2026-06-19T18:51:44Z
Dw31415
71735
create target page
747601
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>[https://archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529 Burke's Peerage and Gentry]</ref>
nw0fuppk4fa3n61acdrwie43mafo5kk
747602
747601
2026-06-19T18:54:05Z
Dw31415
71735
Prepare wikitext replacement using Link Remover; review before saving.
747602
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>Burke's Peerage and Gentry <sup>[Link Removed]</sup></ref>
sz89t6vv2p64c5e7wtseuz7joz3mu3y
747613
747602
2026-06-19T19:27:44Z
Dw31415
71735
/* Section One */ add link removal link
747613
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></ref>
5f1tm8fdrspjvrok6ps1g0xjvc8x6ct
747648
747613
2026-06-19T19:44:23Z
Dw31415
71735
/* Section One */
747648
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
l2tqwdugdok7kop9053etfrma21uuyq
747650
747648
2026-06-19T20:09:01Z
Dw31415
71735
add another section
747650
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
== Section Two ==
Some claim<ref name=Burkes>[https://archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529 Burke's Peerage and Gentry]</ref>
cy4tfhqcryxx5pxslnu57h7r4n84ei3
747651
747650
2026-06-19T20:09:18Z
Dw31415
71735
/* Section Two */
747651
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
== Section Two ==
Some claim<ref>[https://archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529 Burke's Peerage and Gentry]</ref>
r20wmaagpcfunnumrd6hxj44o5piqk4
747652
747651
2026-06-19T20:09:44Z
Dw31415
71735
/* Section Two */
747652
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
== Section Two ==
Some claim<ref>[https://archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529 Burke's Peerage and Gentry]</ref>
== Refs ==
3r546yvlksmbbj09wxgnih8hkvste52
747654
747652
2026-06-19T20:13:09Z
Dw31415
71735
Prepare wikitext replacement using Link Remover; review before saving.
747654
wikitext
text/x-wiki
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
== Section Two ==
Some claim<ref>{{Link removed|Burke's Peerage and Gentry|linkhostpath=archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529|protocol=https}}</ref>
== Refs ==
iw901qof2ydv721lalfpun3p7r50e0p
747662
747654
2026-06-20T01:59:29Z
Dw31415
71735
add link to template
747662
wikitext
text/x-wiki
== Purpose ==
This page exists to develop [[Template:Link removed]] and test
== Section One ==
Some claim<ref name=Burkes>{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
}}</ref>
== Section Two ==
Some claim<ref>{{Link removed|Burke's Peerage and Gentry|linkhostpath=archive.example.com/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529|protocol=https}}</ref>
== Refs ==
627wzwufq0vozjjc48nuy0ehym72bwh
Module:Link removed
828
176397
747604
2026-06-19T19:05:14Z
Dw31415
71735
Create link removed Module
747604
Scribunto
text/plain
--[[
Simple shell for {{Link removed}}.
The template renders a plain label followed by a visible marker indicating that
the original link was removed.
]]
require('strict')
local p = {}
local function trim(value)
if value == nil then
return ''
end
return mw.text.trim(tostring(value))
end
local function get_args(frame)
local args = {}
local parent = frame and frame:getParent()
if parent then
for key, value in pairs(parent.args) do
args[key] = value
end
end
if frame then
for key, value in pairs(frame.args) do
args[key] = value
end
end
return args
end
function p._main(args)
local label = trim(args[1] or args.label)
return mw.text.nowiki(label) .. ' <sup>[Link Removed]</sup>'
end
function p.main(frame)
return p._main(get_args(frame))
end
return p
ezdy3o9g0rvgq3aun4dnp40i3kr6y1i
747605
747604
2026-06-19T19:11:45Z
Dw31415
71735
add tracking params
747605
Scribunto
text/plain
--[[
Simple shell for {{Link removed}}.
The template renders a plain label followed by a visible marker indicating that
the original link was removed.
]]
require('strict')
local p = {}
local function trim(value)
if value == nil then
return ''
end
return mw.text.trim(tostring(value))
end
local function get_args(frame)
local args = {}
local parent = frame and frame:getParent()
if parent then
for key, value in pairs(parent.args) do
args[key] = value
end
end
if frame then
for key, value in pairs(frame.args) do
args[key] = value
end
end
return args
end
function p._main(args)
local label = trim(args[1] or args.label)
local linkhostpath = trim(args.linkhostpath)
local protocol = trim(args.protocol)
if protocol == '' then
protocol = 'https'
end
-- Tracking parameter for future maintenance tooling; intentionally not rendered.
local _ = { linkhostpath = linkhostpath, protocol = protocol }
return mw.text.nowiki(label) .. ' <sup>[Link Removed]</sup>'
end
function p.main(frame)
return p._main(get_args(frame))
end
return p
k22qwuwg0a2rkq641wrspm07j50hiz8
747614
747605
2026-06-19T19:29:51Z
Dw31415
71735
Change superscript text
747614
Scribunto
text/plain
--[[
Simple shell for {{Link removed}}.
The template renders a plain label followed by a visible marker indicating that
the original link was removed.
]]
require('strict')
local p = {}
local function trim(value)
if value == nil then
return ''
end
return mw.text.trim(tostring(value))
end
local function get_args(frame)
local args = {}
local parent = frame and frame:getParent()
if parent then
for key, value in pairs(parent.args) do
args[key] = value
end
end
if frame then
for key, value in pairs(frame.args) do
args[key] = value
end
end
return args
end
function p._main(args)
local label = trim(args[1] or args.label)
local linkhostpath = trim(args.linkhostpath)
local protocol = trim(args.protocol)
if protocol == '' then
protocol = 'https'
end
-- Tracking parameter for future maintenance tooling; intentionally not rendered.
local _ = { linkhostpath = linkhostpath, protocol = protocol }
return mw.text.nowiki(label) .. ' <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>'
end
function p.main(frame)
return p._main(get_args(frame))
end
return p
tfj7gz4qc06izzdx04uwnqu3d86hczq
747629
747614
2026-06-19T19:39:59Z
Dw31415
71735
Dw31415 moved page [[Module:Link Removed]] to [[Module:Link removed]]: naming consistency
747614
Scribunto
text/plain
--[[
Simple shell for {{Link removed}}.
The template renders a plain label followed by a visible marker indicating that
the original link was removed.
]]
require('strict')
local p = {}
local function trim(value)
if value == nil then
return ''
end
return mw.text.trim(tostring(value))
end
local function get_args(frame)
local args = {}
local parent = frame and frame:getParent()
if parent then
for key, value in pairs(parent.args) do
args[key] = value
end
end
if frame then
for key, value in pairs(frame.args) do
args[key] = value
end
end
return args
end
function p._main(args)
local label = trim(args[1] or args.label)
local linkhostpath = trim(args.linkhostpath)
local protocol = trim(args.protocol)
if protocol == '' then
protocol = 'https'
end
-- Tracking parameter for future maintenance tooling; intentionally not rendered.
local _ = { linkhostpath = linkhostpath, protocol = protocol }
return mw.text.nowiki(label) .. ' <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>'
end
function p.main(frame)
return p._main(get_args(frame))
end
return p
tfj7gz4qc06izzdx04uwnqu3d86hczq
Template:Link removed
10
176398
747606
2026-06-19T19:12:31Z
Dw31415
71735
Create summary
747606
wikitext
text/x-wiki
{{#invoke:Link removed|main|1={{{1|}}}|label={{{label|}}}|linkhostpath={{{linkhostpath|}}}|protocol={{{protocol|https}}}}}<noinclude>
{{Documentation}}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
}
}
</templatedata>
</noinclude>
64irpxtii3v5f9saxlqrsyw4cwyocwa
747631
747606
2026-06-19T19:40:19Z
Dw31415
71735
Dw31415 moved page [[Template:Link Removed]] to [[Template:Link removed]]: name consistency
747606
wikitext
text/x-wiki
{{#invoke:Link removed|main|1={{{1|}}}|label={{{label|}}}|linkhostpath={{{linkhostpath|}}}|protocol={{{protocol|https}}}}}<noinclude>
{{Documentation}}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
}
}
</templatedata>
</noinclude>
64irpxtii3v5f9saxlqrsyw4cwyocwa
747656
747631
2026-06-19T21:49:45Z
Dw31415
71735
clean up
747656
wikitext
text/x-wiki
{{#invoke:Link removed|main|1={{{1|}}}|label={{{label|}}}|linkhostpath={{{linkhostpath|}}}|protocol={{{protocol|https}}}}}<noinclude>
{{Documentation}}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
}
}
</templatedata>
</noinclude>
fqb4jwl0czrgdwyyqrb6h5bahszsbtq
747657
747656
2026-06-19T21:50:18Z
Dw31415
71735
remove parameters from root
747657
wikitext
text/x-wiki
{{#invoke:Link removed|main|1={{{1|}}}|label={{{label|}}}|linkhostpath={{{linkhostpath|}}}|protocol={{{protocol|https}}}}}<noinclude>
{{Documentation}}
</noinclude>
68cle02yqa79h56jukzei605yxoh2jo
Wikipedia:Link Removed
4
176399
747612
2026-06-19T19:22:42Z
Dw31415
71735
create target page
747612
wikitext
text/x-wiki
A link was removed because it was to a black listed site.
ryuw5ao7xm3pz1ehlvkgeep56fh9s34
747658
747612
2026-06-19T21:51:51Z
Dw31415
71735
fix typo
747658
wikitext
text/x-wiki
A link was removed because it was to a blacklisted site.
fm9f1qpl4dis2sg9hmv3ijnb9oo3hyn
Module:Link removed/doc
828
176400
747615
2026-06-19T19:33:34Z
Dw31415
71735
Create documentation
747615
wikitext
text/x-wiki
{{Documentation subpage}}
== Purpose ==
'''Module:Link removed''' implements {{tl|Link removed}}. It renders a plain-text label followed by a superscript marker linking to [[Wikipedia:Link Removed]].
The rendered marker is:
<syntaxhighlight lang="html" inline><sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></syntaxhighlight>
The module accepts tracking parameters for the removed link source, but those tracking values are intentionally not rendered.
== Usage ==
This module is normally used through {{tl|Link removed}}:
<syntaxhighlight lang="wikitext">
{{Link removed|Burke's Peerage and Gentry}}
</syntaxhighlight>
With tracking parameters:
<syntaxhighlight lang="wikitext">
{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
| protocol = https
}}
</syntaxhighlight>
It may also be invoked directly:
<syntaxhighlight lang="wikitext">
{{#invoke:Link removed|main|Burke's Peerage and Gentry}}
</syntaxhighlight>
== Public functions ==
{| class="wikitable"
! Function
! Description
|-
| <code>main(frame)</code>
| Entry point for template and direct <code>#invoke</code> use. Merges parent template arguments with direct module arguments, with direct arguments taking precedence.
|-
| <code>_main(args)</code>
| Internal/testable entry point that accepts an argument table and returns the rendered label plus marker.
|}
== Parameters ==
{| class="wikitable"
! Parameter
! Description
! Rendered?
|-
| <code>1</code>
| Label text to display before the link removed marker. Preferred over <code>label</code> when both are provided.
| Yes
|-
| <code>label</code>
| Named form of the label text.
| Yes
|-
| <code>linkhostpath</code>
| Optional tracking value for the removed link host and path.
| No
|-
| <code>protocol</code>
| Optional tracking value for the removed link protocol. Defaults to <code>https</code> when omitted or blank.
| No
|}
== Examples ==
{| class="wikitable"
! Invocation
! Result
|-
| <syntaxhighlight lang="wikitext" inline>{{#invoke:Link removed|main|Burke's Peerage and Gentry}}</syntaxhighlight>
| Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|-
| <syntaxhighlight lang="wikitext" inline>{{#invoke:Link removed|main|label=Example source|linkhostpath=example.org/page|protocol=http}}</syntaxhighlight>
| Example source <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|}
== Implementation notes ==
* Labels are escaped with <code>mw.text.nowiki</code> so the label renders as normal text rather than wikitext.
* <code>linkhostpath</code> and <code>protocol</code> are preserved for maintenance tooling but are not displayed.
* The module uses <code>require('strict')</code>.
<includeonly>
<!-- Add module categories here when deploying on-wiki. -->
</includeonly>
3lvzfdlh38a266491gcl65hxyicw01g
747641
747615
2026-06-19T19:42:25Z
Dw31415
71735
Dw31415 moved page [[Module:Link Removed/doc]] to [[Module:Link removed/doc]]
747615
wikitext
text/x-wiki
{{Documentation subpage}}
== Purpose ==
'''Module:Link removed''' implements {{tl|Link removed}}. It renders a plain-text label followed by a superscript marker linking to [[Wikipedia:Link Removed]].
The rendered marker is:
<syntaxhighlight lang="html" inline><sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></syntaxhighlight>
The module accepts tracking parameters for the removed link source, but those tracking values are intentionally not rendered.
== Usage ==
This module is normally used through {{tl|Link removed}}:
<syntaxhighlight lang="wikitext">
{{Link removed|Burke's Peerage and Gentry}}
</syntaxhighlight>
With tracking parameters:
<syntaxhighlight lang="wikitext">
{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
| protocol = https
}}
</syntaxhighlight>
It may also be invoked directly:
<syntaxhighlight lang="wikitext">
{{#invoke:Link removed|main|Burke's Peerage and Gentry}}
</syntaxhighlight>
== Public functions ==
{| class="wikitable"
! Function
! Description
|-
| <code>main(frame)</code>
| Entry point for template and direct <code>#invoke</code> use. Merges parent template arguments with direct module arguments, with direct arguments taking precedence.
|-
| <code>_main(args)</code>
| Internal/testable entry point that accepts an argument table and returns the rendered label plus marker.
|}
== Parameters ==
{| class="wikitable"
! Parameter
! Description
! Rendered?
|-
| <code>1</code>
| Label text to display before the link removed marker. Preferred over <code>label</code> when both are provided.
| Yes
|-
| <code>label</code>
| Named form of the label text.
| Yes
|-
| <code>linkhostpath</code>
| Optional tracking value for the removed link host and path.
| No
|-
| <code>protocol</code>
| Optional tracking value for the removed link protocol. Defaults to <code>https</code> when omitted or blank.
| No
|}
== Examples ==
{| class="wikitable"
! Invocation
! Result
|-
| <syntaxhighlight lang="wikitext" inline>{{#invoke:Link removed|main|Burke's Peerage and Gentry}}</syntaxhighlight>
| Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|-
| <syntaxhighlight lang="wikitext" inline>{{#invoke:Link removed|main|label=Example source|linkhostpath=example.org/page|protocol=http}}</syntaxhighlight>
| Example source <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|}
== Implementation notes ==
* Labels are escaped with <code>mw.text.nowiki</code> so the label renders as normal text rather than wikitext.
* <code>linkhostpath</code> and <code>protocol</code> are preserved for maintenance tooling but are not displayed.
* The module uses <code>require('strict')</code>.
<includeonly>
<!-- Add module categories here when deploying on-wiki. -->
</includeonly>
3lvzfdlh38a266491gcl65hxyicw01g
Template:Link removed/doc
10
176401
747616
2026-06-19T19:34:34Z
Dw31415
71735
Create subpage
747616
wikitext
text/x-wiki
{{Documentation subpage}}
{{Uses Lua|Module:Link removed}}
== Purpose ==
{{tl|Link removed}} displays ordinary label text followed by a superscript marker linking to [[Wikipedia:Link Removed]]. It is intended for cases where a link target has been deliberately removed while preserving the readable label in article text.
The template renders the label as plain text, then appends:
<syntaxhighlight lang="html" inline><sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></syntaxhighlight>
== Usage ==
<syntaxhighlight lang="wikitext">
{{Link removed|label}}
</syntaxhighlight>
Tracking parameters can be kept in the source without changing the rendered output:
<syntaxhighlight lang="wikitext">
{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
| protocol = https
}}
</syntaxhighlight>
== Examples ==
{| class="wikitable"
! Wikitext
! Result
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|Burke's Peerage and Gentry}}</syntaxhighlight>
| Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|label=Example source|linkhostpath=example.org/page|protocol=http}}</syntaxhighlight>
| Example source <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|}
== Parameters ==
{| class="wikitable"
! Parameter
! Description
! Required
|-
| <code>1</code>
| Label text to display before the link removed marker. Preferred over <code>label</code> when both are provided.
| Yes
|-
| <code>label</code>
| Named form of the label text.
| No
|-
| <code>linkhostpath</code>
| Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.
| No
|-
| <code>protocol</code>
| Optional tracking value for the removed link protocol. Defaults to <code>https</code> and is not rendered.
| No
|}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker. Preferred over the named label parameter when both are provided.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
},
"paramOrder": [
"1",
"label",
"linkhostpath",
"protocol"
],
"format": "block"
}
</templatedata>
<includeonly>
<!-- Add template categories here when deploying on-wiki. -->
</includeonly>
pur5rubrtdf8pc6qbv8ajce7pwpol18
747638
747616
2026-06-19T19:42:00Z
Dw31415
71735
Dw31415 moved page [[Template:Link Removed/doc]] to [[Template:Link removed/doc]]
747616
wikitext
text/x-wiki
{{Documentation subpage}}
{{Uses Lua|Module:Link removed}}
== Purpose ==
{{tl|Link removed}} displays ordinary label text followed by a superscript marker linking to [[Wikipedia:Link Removed]]. It is intended for cases where a link target has been deliberately removed while preserving the readable label in article text.
The template renders the label as plain text, then appends:
<syntaxhighlight lang="html" inline><sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></syntaxhighlight>
== Usage ==
<syntaxhighlight lang="wikitext">
{{Link removed|label}}
</syntaxhighlight>
Tracking parameters can be kept in the source without changing the rendered output:
<syntaxhighlight lang="wikitext">
{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
| protocol = https
}}
</syntaxhighlight>
== Examples ==
{| class="wikitable"
! Wikitext
! Result
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|Burke's Peerage and Gentry}}</syntaxhighlight>
| Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|label=Example source|linkhostpath=example.org/page|protocol=http}}</syntaxhighlight>
| Example source <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|}
== Parameters ==
{| class="wikitable"
! Parameter
! Description
! Required
|-
| <code>1</code>
| Label text to display before the link removed marker. Preferred over <code>label</code> when both are provided.
| Yes
|-
| <code>label</code>
| Named form of the label text.
| No
|-
| <code>linkhostpath</code>
| Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.
| No
|-
| <code>protocol</code>
| Optional tracking value for the removed link protocol. Defaults to <code>https</code> and is not rendered.
| No
|}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker. Preferred over the named label parameter when both are provided.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
},
"paramOrder": [
"1",
"label",
"linkhostpath",
"protocol"
],
"format": "block"
}
</templatedata>
<includeonly>
<!-- Add template categories here when deploying on-wiki. -->
</includeonly>
pur5rubrtdf8pc6qbv8ajce7pwpol18
747655
747638
2026-06-19T21:31:44Z
Dw31415
71735
/* Parameters */ remove parameters block
747655
wikitext
text/x-wiki
{{Documentation subpage}}
{{Uses Lua|Module:Link removed}}
== Purpose ==
{{tl|Link removed}} displays ordinary label text followed by a superscript marker linking to [[Wikipedia:Link Removed]]. It is intended for cases where a link target has been deliberately removed while preserving the readable label in article text.
The template renders the label as plain text, then appends:
<syntaxhighlight lang="html" inline><sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup></syntaxhighlight>
== Usage ==
<syntaxhighlight lang="wikitext">
{{Link removed|label}}
</syntaxhighlight>
Tracking parameters can be kept in the source without changing the rendered output:
<syntaxhighlight lang="wikitext">
{{Link removed
| Burke's Peerage and Gentry
| linkhostpath = archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529
| protocol = https
}}
</syntaxhighlight>
== Examples ==
{| class="wikitable"
! Wikitext
! Result
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|Burke's Peerage and Gentry}}</syntaxhighlight>
| Burke's Peerage and Gentry <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|-
| <syntaxhighlight lang="wikitext" inline>{{Link removed|label=Example source|linkhostpath=example.org/page|protocol=http}}</syntaxhighlight>
| Example source <sup>[[[Wikipedia:Link_Removed|Link Removed]]]</sup>
|}
<templatedata>
{
"description": "Renders plain label text followed by a superscript link removed marker.",
"params": {
"1": {
"label": "Label",
"description": "Text to display before the link removed marker. Preferred over the named label parameter when both are provided.",
"type": "line",
"required": true,
"example": "Burke's Peerage and Gentry"
},
"label": {
"label": "Label",
"description": "Named form of the display label. The positional label is preferred when both are provided.",
"type": "line",
"required": false
},
"linkhostpath": {
"label": "Link host path",
"description": "Optional tracking value for the removed link host and path. This value is kept in wikitext for maintenance and is not rendered.",
"type": "line",
"required": false,
"example": "archive.today/20130118233601/http://www.burkespeerage.com/FamilyHomepage.aspx?FID=8529"
},
"protocol": {
"label": "Protocol",
"description": "Optional tracking value for the removed link protocol. This value defaults to https and is not rendered.",
"type": "line",
"default": "https",
"required": false,
"example": "https"
}
},
"paramOrder": [
"1",
"label",
"linkhostpath",
"protocol"
],
"format": "block"
}
</templatedata>
<includeonly>
<!-- Add template categories here when deploying on-wiki. -->
</includeonly>
64woqvmwnlj2rqaeesp05u2b2ufkf6m
Module:Link Removed
828
176402
747630
2026-06-19T19:39:59Z
Dw31415
71735
Dw31415 moved page [[Module:Link Removed]] to [[Module:Link removed]]: naming consistency
747630
Scribunto
text/plain
return require [[Module:Link removed]]
d8ppxyllk9qqzyzle3astcrbagtr4l0
Template:Link Removed
10
176403
747632
2026-06-19T19:40:20Z
Dw31415
71735
Dw31415 moved page [[Template:Link Removed]] to [[Template:Link removed]]: name consistency
747632
wikitext
text/x-wiki
#REDIRECT [[Template:Link removed]]
{{Redirect category shell|
{{R from move}}
}}
j7e4fpq6nqwn4npukrhsx6qpvf6rnap
Template:Link Removed/doc
10
176404
747639
2026-06-19T19:42:00Z
Dw31415
71735
Dw31415 moved page [[Template:Link Removed/doc]] to [[Template:Link removed/doc]]
747639
wikitext
text/x-wiki
#REDIRECT [[Template:Link removed/doc]]
{{Redirect category shell|
{{R from move}}
}}
b7s4z2t6yciz19j52slpq7i5cfykhzw
Module:Link Removed/doc
828
176405
747642
2026-06-19T19:42:25Z
Dw31415
71735
Dw31415 moved page [[Module:Link Removed/doc]] to [[Module:Link removed/doc]]
747642
wikitext
text/x-wiki
#REDIRECT [[Module:Link removed/doc]]
{{Redirect category shell|
{{R from move}}
}}
4w1iepsfkdgbzif8qbsugysxbo0qus4