ವಿಕಿಕೋಟ್
knwikiquote
https://kn.wikiquote.org/wiki/%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F
MediaWiki 1.47.0-wmf.19
first-letter
ಮೀಡಿಯ
ವಿಶೇಷ
ಚರ್ಚೆಪುಟ
ಸದಸ್ಯ
ಸದಸ್ಯರ ಚರ್ಚೆಪುಟ
ವಿಕಿಕೋಟ್
ವಿಕಿಕೋಟ್ ಚರ್ಚೆಪುಟ
ಚಿತ್ರ
ಚಿತ್ರ ಚರ್ಚೆಪುಟ
ಮೀಡಿಯವಿಕಿ
ಮೀಡಿಯವಿಕಿ ಚರ್ಚೆಪುಟ
ಟೆಂಪ್ಲೇಟು
ಟೆಂಪ್ಲೇಟು ಚರ್ಚೆಪುಟ
ಸಹಾಯ
ಸಹಾಯ ಚರ್ಚೆಪುಟ
ವರ್ಗ
ವರ್ಗ ಚರ್ಚೆಪುಟ
TimedText
TimedText talk
ಮಾಡ್ಯೂಲ್
ಮಾಡ್ಯೂಲ್ ಚರ್ಚೆಪುಟ
Event
Event talk
ಮೀಡಿಯವಿಕಿ:Gadgets-definition
8
3015
15787
9659
2026-09-13T13:22:14Z
A826
1864
15787
wikitext
text/x-wiki
== ಸಂಪಾದನೆ ==
* HotCat[ResourceLoader|rights=edit]|HotCat.js
* DefaultSummary[ResourceLoader|default]|DefaultSummary.js
4wjtv668ry4bz85c0gnohesxoqubgeh
15789
15787
2026-09-13T13:28:11Z
A826
1864
#she-said
15789
wikitext
text/x-wiki
* HotCat[ResourceLoader|rights=edit]|HotCat.js
* DefaultSummary[ResourceLoader|default]|DefaultSummary.js
jaczqoubocj4xf1y3p682qifwfsdphw
15791
15789
2026-09-13T22:32:53Z
A826
1864
#SheSaid
15791
wikitext
text/x-wiki
* HotCat[rights=edit]|HotCat.js
* DefaultSummary[default]|DefaultSummary.js
o3ukqsku1w4334636v0os48ivqk8pdz
ಮಾಡ್ಯೂಲ್:SheSaidKannadaWikiquote
828
4496
15792
15683
2026-09-14T11:51:31Z
A826
1864
15792
Scribunto
text/plain
--[[
Module:SheSaidKannadaWikiquote
Usage: {{#invoke:SheSaidKannadaWikiquote|table}}
This module generates language availability tables for SheSaid 2026 campaign on Kannada Wikiquote.
It displays articles with their availability on English and Kannada Wikiquote/Wikipedia.
]]
local p = {}
-- Define the languages to display in the table
local languages = {
{code = 'en', name = 'English', wiki = 'enwikiquote'},
{code = 'kn', name = 'ಕನ್ನಡ', wiki = 'knwikiquote'}
}
-- Define the topics with their Wikidata QIDs and categories
-- Format: {title, qid, category, en_sitelink, kn_sitelink}
-- Note: Use double quotes for strings with apostrophes to avoid escaping issues
local topics = {
-- Women from India
{"Women in India", "Q639712", "Women from India", "Women in India", ""},
{"Flavia Agnes", "Q16058227", "Women from India", "Flavia Agnes", ""},
{"Zoya Akhtar", "Q3070885", "Women from India", "Zoya Akhtar", ""},
{"Rana Ayyub", "Q20630532", "Women from India", "Rana Ayyub", ""},
{"Balasaraswati", "Q3522332", "Women from India", "Balasaraswati", ""},
{"Begum Hazrat Mahal", "Q717960", "Women from India", "Begum Hazrat Mahal", ""},
{"Varsha Bhosle", "Q2216799", "Women from India", "Varsha Bhosle", ""},
{"Dorothy Bonarjee", "Q94705848", "Women from India", "Dorothy Bonarjee", ""},
{"Tiffany Brar", "Q20090336", "Women from India", "Tiffany Brar", ""},
{"Urvashi Butalia", "Q2119956", "Women from India", "Urvashi Butalia", "ಉರ್ವಶಿ ಬುಟಾಲಿಯಾ"},
{"Irom Sharmila Chanu", "Q467322", "Women from India", "Irom Sharmila Chanu", ""},
{"Kalpana Chawla", "Q237879", "Women from India", "Kalpana Chawla", ""},
{"Kittur Chennamma", "Q3536979", "Women from India", "Kittur Chennamma", ""},
{"Child marriage among Muslims in Kerala", "Q17183499", "Women from India", "Child marriage among Muslims in Kerala", ""},
{"Tina Dabi", "Q107122534", "Women from India", "Tina Dabi", ""},
{"Geetanjali Shree", "Q539835", "Women from India", "Geetanjali Shree", ""},
{"Divya S. Iyer", "Q105988314", "Women from India", "Divya S. Iyer", ""},
{"Smita Nair Jain", "Q18126169", "Women from India", "Smita Nair Jain", ""},
{"Janabai", "Q4215741", "Women from India", "Janabai", ""},
{"Ekta Kapoor", "Q3630005", "Women from India", "Ekta Kapoor", ""},
{"Anandamoyi Ma", "Q433594", "Women from India", "Anandamoyi Ma", ""},
{"Swati Maliwal", "Q57163890", "Women from India", "Swati Maliwal", ""},
{"Bhavitha Mandava", "Q137647653", "Women from India", "Bhavitha Mandava", ""},
{"Kiran Mazumdar-Shaw", "Q467215", "Women from India", "Kiran Mazumdar-Shaw", ""},
{"Sania Mirza", "Q132147", "Women from India", "Sania Mirza", "ಸಾನಿಯಾ ಮಿರ್ಜಾ"},
{"Sarojini Naidu", "Q250165", "Women from India", "Sarojini Naidu", ""},
{"Naiki Devi", "Q54811284", "Women from India", "Naiki Devi", ""},
{"Nimrat Kaur", "Q15611257", "Women from India", "Nimrat Kaur", ""},
{"Indra Nooyi", "Q264913", "Women from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"},
{"Nur Jahan", "Q541530", "Women from India", "Nur Jahan", ""},
{"Onake Obavva", "Q11025877", "Women from India", "Onake Obavva", "ಒನಕೆ ಓಬವ್ವ"},
{"Neethi Padmanabhan", "Q96804094", "Women from India", "Neethi Padmanabhan", ""},
{"Sai Paranjpye", "Q12455087", "Women from India", "Sai Paranjpye", ""},
{"Radhika Aggarwal", "Q26703254", "Women from India", "Radhika Aggarwal", ""},
{"Kiran Rao", "Q6414821", "Women from India", "Kiran Rao", ""},
{"Shereen Ratnagar", "Q7494812", "Women from India", "Shereen Ratnagar", ""},
{"Rudrama Devi", "Q3523666", "Women from India", "Rudrama Devi", ""},
{"Monisha Shah", "Q108801254", "Women from India", "Monisha Shah", ""},
{"Vandana Shiva", "Q235451", "Women from India", "Vandana Shiva", ""},
{"Tavleen Singh", "Q7689144", "Women from India", "Tavleen Singh", ""},
{"Dipa Sinha", "Q98115731", "Women from India", "Dipa Sinha", ""},
{"Smriti Mandhana", "Q16224802", "Women from India", "Smriti Mandhana", "ಸ್ಮೃತಿ ಮಂದಾನ"},
{"Sushmita Banerjee", "Q14832675", "Women from India", "Sushmita Banerjee", ""},
{"Padmini Swaminathan", "Q22958099", "Women from India", "Padmini Swaminathan", ""},
{"Uda Devi", "Q12416288", "Women from India", "Uda Devi", ""},
{"Vanitha Narayanan", "Q53865532", "Women from India", "Vanitha Narayanan", ""},
-- Women academics from India
{"Nyla Ali Khan", "Q16214027", "Women academics from India", "Nyla Ali Khan", ""},
{"Madhu Kishwar", "Q6727427", "Women academics from India", "Madhu Kishwar", ""},
{"Mridu Rai", "Q60605908", "Women academics from India", "Mridu Rai", ""},
{"Tanika Sarkar", "Q7683301", "Women academics from India", "Tanika Sarkar", ""},
{"Romila Thapar", "Q2744161", "Women academics from India", "Romila Thapar", ""},
-- Women activists from India
{"Rukmini Devi Arundale", "Q465021", "Women activists from India", "Rukmini Devi Arundale", ""},
{"Abadi Bano Begum", "Q42896051", "Women activists from India", "Abadi Bano Begum", "ಅಬಾದಿ ಬಾನೋ ಬೇಗಂ"},
{"Ela Bhatt", "Q467336", "Women activists from India", "Ela Bhatt", "ಇಳಾ ಭಟ್"},
{"Indira Jaising", "Q6025018", "Women activists from India", "Indira Jaising", "ಇಂದಿರಾ ಜೈಸಿಂಗ್"},
{"Pupul Jayakar", "Q7260760", "Women activists from India", "Pupul Jayakar", ""},
{"Kiruba Munusamy", "Q101873542", "Women activists from India", "Kiruba Munusamy", ""},
{"Banu Mushtaq", "Q15719655", "Women activists from India", "Banu Mushtaq", ""},
{"Sunita Narain", "Q2722841", "Women activists from India", "Sunita Narain", ""},
{"Cornelia Sorabji", "Q2643152", "Women activists from India", "Cornelia Sorabji", ""},
-- Actresses from India
{"Kiara Advani", "Q16762720", "Actresses from India", "Kiara Advani", ""},
{"Kajal Aggarwal", "Q224962", "Actresses from India", "Kajal Aggarwal", ""},
{"Andrea Jeremiah", "Q3523373", "Actresses from India", "Andrea Jeremiah", ""},
{"Sara Arjun", "Q7421553", "Actresses from India", "Sara Arjun", ""},
{"Vidya Balan", "Q159166", "Actresses from India", "Vidya Balan", ""},
{"Rachna Banerjee", "Q5223491", "Actresses from India", "Rachna Banerjee", ""},
{"Mukta Barve", "Q6933592", "Actresses from India", "Mukta Barve", ""},
{"Swara Bhasker", "Q7653831", "Actresses from India", "Swara Bhasker", ""},
{"Rani Chatterjee", "Q16201930", "Actresses from India", "Rani Chatterjee", ""},
{"Parineeti Chopra", "Q2995813", "Actresses from India", "Parineeti Chopra", ""},
{"Esha Deol", "Q48622", "Actresses from India", "Esha Deol", "ಇಶಾ ಡಿಯೋಲ್"},
{"Drashti Dhami", "Q4171474", "Actresses from India", "Drashti Dhami", ""},
{"Tripti Dimri", "Q56425189", "Actresses from India", "Tripti Dimri", ""},
{"Madhuri Dixit", "Q232451", "Actresses from India", "Madhuri Dixit", ""},
{"Amrita Rao", "Q299136", "Actresses from India", "Amrita Rao", "ಅಮೃತಾ ರಾವ್"},
{"Lara Dutta", "Q290438", "Actresses from India", "Lara Dutta", ""},
{"Yami Gautam", "Q8048050", "Actresses from India", "Yami Gautam", ""},
{"Aditi Govitrikar", "Q3531155", "Actresses from India", "Aditi Govitrikar", "ಅದಿತಿ ಗೋವಿತ್ರಿಕರ್"},
{"Smriti Irani", "Q7546539", "Actresses from India", "Smriti Irani", "ಸ್ಮೃತಿ ಇರಾನಿ"},
{"J. Jayalalithaa", "Q465018", "Actresses from India", "J. Jayalalithaa", ""},
{"Dipika Kakar", "Q12068128", "Actresses from India", "Dipika Kakar", ""},
{"Asha Kale", "Q4804505", "Actresses from India", "Asha Kale", ""},
{"Sukirti Kandpal", "Q7635860", "Actresses from India", "Sukirti Kandpal", ""},
{"Janhvi Kapoor", "Q22290570", "Actresses from India", "Janhvi Kapoor", ""},
{"Kareena Kapoor", "Q184885", "Actresses from India", "Kareena Kapoor", ""},
{"Shraddha Kapoor", "Q15055683", "Actresses from India", "Shraddha Kapoor", ""},
{"Sonam Kapoor", "Q1192750", "Actresses from India", "Sonam Kapoor", ""},
{"Rozlyn Khan", "Q7375385", "Actresses from India", "Rozlyn Khan", ""},
{"Sara Ali Khan", "Q59513147", "Actresses from India", "Sara Ali Khan", ""},
{"Kalki Koechlin", "Q3192216", "Actresses from India", "Kalki Koechlin", ""},
{"Manisha Koirala", "Q186606", "Actresses from India", "Manisha Koirala", ""},
{"Sivaangi Krishnakumar", "Q107135005", "Actresses from India", "Sivaangi Krishnakumar", ""},
{"Trisha Krishnan", "Q2748513", "Actresses from India", "Trisha Krishnan", ""},
{"Khushalii Kumar", "Q65640372", "Actresses from India", "Khushalii Kumar", ""},
{"Padma Lakshmi", "Q464835", "Actresses from India", "Padma Lakshmi", ""},
{"Raai Laxmi", "Q3520472", "Actresses from India", "Raai Laxmi", ""},
{"Rukmini Maitra", "Q27954419", "Actresses from India", "Rukmini Maitra", ""},
{"Sanya Malhotra", "Q28316728", "Actresses from India", "Sanya Malhotra", ""},
{"Hema Malini", "Q33635", "Actresses from India", "Hema Malini", "ಹೇಮಾ ಮಾಲಿನಿ"},
{"Rashmika Mandanna", "Q28088964", "Actresses from India", "Rashmika Mandanna", ""},
{"Priyanka Arul Mohan", "Q70991046", "Actresses from India", "Priyanka Arul Mohan", ""},
{"Rani Mukerji", "Q485557", "Actresses from India", "Rani Mukerji", ""},
{"Mumtaz (actress)", "Q3111131", "Actresses from India", "Mumtaz (actress)", ""},
{"Nayanthara", "Q2748319", "Actresses from India", "Nayanthara", ""},
{"Aneet Padda", "Q135114696", "Actresses from India", "Aneet Padda", ""},
{"Deepika Padukone", "Q159178", "Actresses from India", "Deepika Padukone", ""},
{"Ananya Panday", "Q58198484", "Actresses from India", "Ananya Panday", ""},
{"Pooja Hegde", "Q7228519", "Actresses from India", "Pooja Hegde", ""},
{"Kangana Ranaut", "Q2737207", "Actresses from India", "Kangana Ranaut", "ಕಂಗನಾ ರನೌತ್"},
{"Urvashi Rautela", "Q7901587", "Actresses from India", "Urvashi Rautela", "ಊರ್ವಶಿ ರೌತೇಲಾ"},
{"Waheeda Rehman", "Q465859", "Actresses from India", "Waheeda Rehman", ""},
{"Rekha", "Q465826", "Actresses from India", "Rekha", ""},
{"Samantha Ruth Prabhu", "Q3520314", "Actresses from India", "Samantha Ruth Prabhu", "ಸಮಂತಾ ರುತ್ ಪ್ರಭು"},
{"Harnaaz Sandhu", "Q108756568", "Actresses from India", "Harnaaz Sandhu", ""},
{"Kriti Sanon", "Q16233540", "Actresses from India", "Kriti Sanon", ""},
{"Mallika Sarabhai", "Q3518417", "Actresses from India", "Mallika Sarabhai", ""},
{"Aparna Sen", "Q466325", "Actresses from India", "Aparna Sen", ""},
{"Kim Sharma", "Q469887", "Actresses from India", "Kim Sharma", ""},
{"Mallika Sherawat", "Q262665", "Actresses from India", "Mallika Sherawat", ""},
{"M. S. Subbulakshmi", "Q465067", "Actresses from India", "M. S. Subbulakshmi", ""},
{"Keerthy Suresh", "Q17403476", "Actresses from India", "Keerthy Suresh", ""},
{"Tamannaah Bhatia", "Q151798", "Actresses from India", "Tamannaah Bhatia", ""},
{"Nikki Tamboli", "Q92995304", "Actresses from India", "Nikki Tamboli", ""},
{"Raveena Tandon", "Q2001803", "Actresses from India", "Raveena Tandon", ""},
{"Mrunal Thakur", "Q16234243", "Actresses from India", "Mrunal Thakur", ""},
{"Vyjayanthimala", "Q467977", "Actresses from India", "Vyjayanthimala", ""},
{"Preity Zinta", "Q188671", "Actresses from India", "Preity Zinta", ""},
-- Women authors from India
{"Damayanti Besra", "Q31322404", "Women authors from India", "Damayanti Besra", ""},
{"Deepta Roy Chakraverti", "Q139493374", "Women authors from India", "Deepta Roy Chakraverti", ""},
{"Anita Desai", "Q268495", "Women authors from India", "Anita Desai", "ಅನಿತಾ ದೇಸಾಯಿ"},
{"Barkha Dutt", "Q3634855", "Women authors from India", "Barkha Dutt", ""},
{"Divya Dwivedi", "Q67222730", "Women authors from India", "Divya Dwivedi", ""},
{"K. R. Meera", "Q58157", "Women authors from India", "K. R. Meera", ""},
{"Meena Kandasamy", "Q6807585", "Women authors from India", "Meena Kandasamy", ""},
{"Rupi Kaur", "Q19662918", "Women authors from India", "Rupi Kaur", ""},
{"Licypriya Kangujam", "Q71123008", "Women authors from India", "Licypriya Kangujam", ""},
{"Leela Row Dayal", "Q47016048", "Women authors from India", "Leela Row Dayal", ""},
{"Nayantara Sahgal", "Q448399", "Women authors from India", "Nayantara Sahgal", "ನಯನತಾರಾ ಸೆಹಗಲ್"},
{"Nupur J. Sharma", "Q116030561", "Women authors from India", "Nupur J. Sharma", ""},
-- Businesswomen from India
{"Falguni Nayar", "Q107476226", "Businesswomen from India", "Falguni Nayar", ""},
{"Indra Krishnamurthy Nooyi", "Q264913", "Businesswomen from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"},
{"Nandini Jammi", "Q97142214", "Businesswomen from India", "Nandini Jammi", ""},
{"Kalpana Lajmi", "Q3631768", "Businesswomen from India", "Kalpana Lajmi", "ಕಲ್ಪನಾ ಲಾಜ್ಮಿ"},
{"Mahua Moitra", "Q24572565", "Businesswomen from India", "Mahua Moitra", ""},
{"Leena Nair", "Q6516350", "Businesswomen from India", "Leena Nair", ""},
{"Swati Piramal", "Q7654042", "Businesswomen from India", "Swati Piramal", ""},
{"V. K. Sasikala", "Q7425145", "Businesswomen from India", "V. K. Sasikala", ""},
{"Vineeta Singh", "Q70203083", "Businesswomen from India", "Vineeta Singh", ""},
{"Kanika Tekriwal", "Q27978737", "Businesswomen from India", "Kanika Tekriwal", ""},
-- Women politicians in India
{"Mamata Banerjee", "Q465041", "Women politicians in India", "Mamata Banerjee", ""},
{"Uma Bharti", "Q3109128", "Women politicians in India", "Uma Bharti", "ಉಮಾ ಭಾರತಿ"},
{"Renuka Chowdhury", "Q2470188", "Women politicians in India", "Renuka Chowdhury", ""},
{"Indira Gandhi", "Q1149", "Women politicians in India", "Indira Gandhi", "ಇಂದಿರಾ ಗಾಂಧಿ"},
{"Maneka Gandhi", "Q2739159", "Women politicians in India", "Maneka Gandhi", ""},
{"Medha Kulkarni", "Q24053642", "Women politicians in India", "Medha Kulkarni", ""},
{"Sanghmitra Maurya", "Q64001930", "Women politicians in India", "Sanghmitra Maurya", ""},
{"Mayawati", "Q264896", "Women politicians in India", "Mayawati", ""},
{"Vijaya Lakshmi Pandit", "Q465047", "Women politicians in India", "Vijaya Lakshmi Pandit", ""},
{"Nupur Sharma", "Q19518263", "Women politicians in India", "Nupur Sharma", ""},
{"Shreyasi Singh", "Q17435457", "Women politicians in India", "Shreyasi Singh", ""},
-- Women scientists from India
{"Rohini Pande", "Q7359748", "Women scientists from India", "Rohini Pande", ""},
}
-- Cache for sitelinks
local sitelinkCache = {}
-- Cache for Wikidata labels and descriptions
local wikidataCache = {}
-- Function to get sitelink for a given QID and wiki
local function getSitelink(qid, wiki)
if not qid or qid == "" then
return nil
end
local cacheKey = qid .. '_' .. wiki
if sitelinkCache[cacheKey] ~= nil then
return sitelinkCache[cacheKey]
end
-- Try to get the entity from Wikidata
local success, entity = pcall(mw.wikibase.getEntityObject, qid)
if not success or not entity then
sitelinkCache[cacheKey] = nil
return nil
end
local sitelink = entity:getSitelink(wiki)
sitelinkCache[cacheKey] = sitelink
return sitelink
end
-- Function to get Wikidata label and description for a given QID
local function getWikidataInfo(qid, langCode)
if not qid or qid == "" then
return nil, nil
end
langCode = langCode or 'en'
local cacheKey = qid .. '_' .. langCode
if wikidataCache[cacheKey] ~= nil then
return wikidataCache[cacheKey].label, wikidataCache[cacheKey].description
end
-- Try to get the entity from Wikidata
local success, entity = pcall(mw.wikibase.getEntityObject, qid)
if not success or not entity then
wikidataCache[cacheKey] = {label = nil, description = nil}
return nil, nil
end
local label = nil
local description = nil
-- Get label
if entity.labels then
if entity.labels[langCode] then
label = entity.labels[langCode].value
elseif entity.labels['en'] then
label = entity.labels['en'].value
end
end
-- Get description
if entity.descriptions then
if entity.descriptions[langCode] then
description = entity.descriptions[langCode].value
elseif entity.descriptions['en'] then
description = entity.descriptions['en'].value
end
end
wikidataCache[cacheKey] = {label = label, description = description}
return label, description
end
-- Function to create the navigation bar with jump links to each category
local function createNavigation()
-- Group topics by category to get unique category names
local categories = {}
for _, topic in ipairs(topics) do
local cat = topic[3] or 'General'
if not categories[cat] then
categories[cat] = true
end
end
-- Sort category names
local sortedCats = {}
for cat in pairs(categories) do
table.insert(sortedCats, cat)
end
table.sort(sortedCats)
local nav = {
'<div style="margin: 1em 0; padding: 0.5em; background: #f8f9fa; border: 1px solid #a2a9b1; border-radius: 4px;">',
'<strong>Jump to section:</strong> '
}
local links = {}
for _, cat in ipairs(sortedCats) do
local anchor = 'section-' .. cat:gsub(' ', '_'):gsub('[%(%)]', '')
links[#links + 1] = '[[' .. '#' .. anchor .. '|' .. cat .. ']]'
end
nav[#nav + 1] = table.concat(links, ' | ')
nav[#nav + 1] = '</div>'
return table.concat(nav)
end
-- Function to create the table header
-- showWikidataLabel: whether to show Wikidata label column
-- showWikidataDescription: whether to show Wikidata description column
local function createTableHeader(showWikidataLabel, showWikidataDescription)
local header = {
'{| class="wikitable sortable" style="width: 100%;"',
'! №',
'! style="width: 25%;" | ಲೇಖನದ ಹೆಸರು',
'! style="width: 15%;" | ಪ್ರಕಾರ',
}
-- Add language columns
for _, lang in ipairs(languages) do
local title = ' title="' .. lang.name .. ' Wikiquote"'
header[#header + 1] = '!' .. title .. ' | ' .. lang.name .. ' Wikiquote'
end
-- Add Wikidata label column if enabled
if showWikidataLabel then
header[#header + 1] = '! style="width: 15%;" | Wikidata Label'
end
-- Add Wikidata description column if enabled
if showWikidataDescription then
header[#header + 1] = '! style="width: 20%;" | Wikidata Description'
end
header[#header + 1] = '! ವಿಕಿಡಾಟಾ'
return table.concat(header, '\n')
end
-- Function to create a table row for a topic with sitelinks
-- showWikidataLabel: whether to show Wikidata label column
-- showWikidataDescription: whether to show Wikidata description column
-- wikidataLang: language code for Wikidata label/description (default: 'en')
local function createTopicRow(index, topic, showWikidataLabel, showWikidataDescription, wikidataLang)
local title = topic[1]
local qid = topic[2]
local category = topic[3] or 'General'
local enSitelink = topic[4] or ''
local knSitelink = topic[5] or ''
-- Build the row
local row = {
'\n|-',
'| ' .. index,
'| ' .. title,
'| ' .. category,
}
-- Display sitelinks for each language
-- English Wikiquote
if qid and qid ~= "" then
local enWQ = getSitelink(qid, 'enwikiquote')
if enWQ then
row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:en:' .. enWQ .. '|' .. enWQ .. ']]'
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
-- Kannada Wikiquote
if qid and qid ~= "" then
local knWQ = getSitelink(qid, 'knwikiquote')
if knWQ then
row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:kn:' .. knWQ .. '|' .. knWQ .. ']]'
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
-- Add Wikidata label if enabled
if showWikidataLabel then
local label = nil
if qid and qid ~= "" then
label = getWikidataInfo(qid, wikidataLang)
end
if label and label ~= "" then
row[#row + 1] = '| ' .. label
else
row[#row + 1] = '| style="text-align: center; color: #999;" | −'
end
end
-- Add Wikidata description if enabled
if showWikidataDescription then
local _, description = nil, nil
if qid and qid ~= "" then
_, description = getWikidataInfo(qid, wikidataLang)
end
if description and description ~= "" then
row[#row + 1] = '| style="font-size: 90%; color: #555;" | ' .. description
else
row[#row + 1] = '| style="text-align: center; color: #999;" | −'
end
end
if qid and qid ~= "" then
row[#row + 1] = '| [[d:' .. qid .. '|' .. qid .. ']]'
else
row[#row + 1] = '| −'
end
return table.concat(row, '\n')
end
-- Function to create the table footer with statistics
-- showWikidataLabel: whether Wikidata label column is shown
-- showWikidataDescription: whether Wikidata description column is shown
local function createTableFooter(categoryTopics, showWikidataLabel, showWikidataDescription)
local totalTopics = #categoryTopics
if totalTopics == 0 then
return '\n|-\n| colspan="5" style="text-align: center;" | No topics available'
end
-- Calculate column statistics
local colStats = {}
for i = 1, #languages do
colStats[i] = {exists = 0, missing = 0}
end
for _, topic in ipairs(categoryTopics) do
local qid = topic[2]
if qid and qid ~= "" then
-- Check English Wikiquote
local enWQ = getSitelink(qid, 'enwikiquote')
if enWQ then
colStats[1].exists = colStats[1].exists + 1
else
colStats[1].missing = colStats[1].missing + 1
end
-- Check Kannada Wikiquote
local knWQ = getSitelink(qid, 'knwikiquote')
if knWQ then
colStats[2].exists = colStats[2].exists + 1
else
colStats[2].missing = colStats[2].missing + 1
end
else
colStats[1].missing = colStats[1].missing + 1
colStats[2].missing = colStats[2].missing + 1
end
end
-- Build footer row
local footer = {
'\n|- class="sortbottom" style="font-weight: bold; background: #f0f0f0;"',
'| colspan="3" | ಒಟ್ಟು ಲೇಖನಗಳು',
}
for i = 1, #languages do
footer[#footer + 1] = '| style="text-align: center;" | ' .. colStats[i].exists .. ' / ' .. totalTopics
end
-- Add empty cells for Wikidata label/description columns if shown
if showWikidataLabel then
footer[#footer + 1] = '|'
end
if showWikidataDescription then
footer[#footer + 1] = '|'
end
footer[#footer + 1] = '|'
return table.concat(footer, '\n')
end
-- Function to render a single category table
-- showWikidataLabel: whether to show Wikidata label column
-- showWikidataDescription: whether to show Wikidata description column
-- wikidataLang: language code for Wikidata label/description (default: 'en')
local function renderCategoryTable(categoryName, categoryTopics, startIndex, showWikidataLabel, showWikidataDescription, wikidataLang)
local result = {}
-- Add section anchor
local anchor = 'section-' .. categoryName:gsub(' ', '_'):gsub('[%(%)]', '')
result[#result + 1] = '<div id="' .. anchor .. '"></div>'
-- Add category header
result[#result + 1] = '\n=== ' .. categoryName .. ' ===\n'
-- Add data source info for the category
result[#result + 1] = '<div style="font-size: 90%; color: #555; margin-bottom: 0.5em;">ಒಟ್ಟು: ' .. #categoryTopics .. ' ಲೇಖನಗಳು</div>'
-- Start the table
result[#result + 1] = createTableHeader(showWikidataLabel, showWikidataDescription)
-- Add topic rows
local currentIndex = startIndex
for _, topic in ipairs(categoryTopics) do
result[#result + 1] = createTopicRow(currentIndex, topic, showWikidataLabel, showWikidataDescription, wikidataLang)
currentIndex = currentIndex + 1
end
-- Add footer
result[#result + 1] = createTableFooter(categoryTopics, showWikidataLabel, showWikidataDescription)
-- Close the table
result[#result + 1] = '\n|}\n'
return table.concat(result, '\n')
end
-- Main function to render the complete table
-- Options (via frame args):
-- showWikidataLabel: "yes"/"true"/"1" to show Wikidata label column
-- showWikidataDescription: "yes"/"true"/"1" to show Wikidata description column
-- wikidataLang: language code for Wikidata label/description (default: 'en')
function p.table(frame)
local result = {}
-- Parse options from frame arguments
local args = frame and frame.args or {}
local showWikidataLabel = false
local showWikidataDescription = false
local wikidataLang = args.wikidataLang or 'en'
if args.showWikidataLabel then
local val = args.showWikidataLabel:lower()
showWikidataLabel = (val == 'yes' or val == 'true' or val == '1')
end
if args.showWikidataDescription then
local val = args.showWikidataDescription:lower()
showWikidataDescription = (val == 'yes' or val == 'true' or val == '1')
end
-- Group topics by category
local categories = {}
for _, topic in ipairs(topics) do
local cat = topic[3] or 'General'
if not categories[cat] then
categories[cat] = {}
end
table.insert(categories[cat], topic)
end
-- Sort category names
local sortedCats = {}
for cat in pairs(categories) do
table.insert(sortedCats, cat)
end
table.sort(sortedCats)
-- Add data source info
result[#result + 1] = [=[
<div style="margin-bottom: 1em; padding: 0.5em; background: #e8f4f8; border: 1px solid #a2a9b1; border-radius: 4px; font-size: 90%;">
<strong>ದತ್ತಾಂಶ ಮೂಲಗಳು:</strong>
<ul>
<li>SheSaid 2026 ಕನ್ನಡ ವಿಕಿಕೋಟ್ ಅಭಿಯಾನದ ಲೇಖನಗಳು</li>
<li>ವಿಕಿಡಾಟಾದಿಂದ ಸೈಟ್ಲಿಂಕ್ 2 September 2026 ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯಲಾಗಿದೆ, ಮುಂದಿನ ನವೀಕರಣ ಸಮಯ ೧೫ ಸೆಪ್ಟೆಂಬರ್ ೨೦೨೬, ಸ್ಪರ್ಧೆಯ ಸಮಯದಲ್ಲಿ ನಿತ್ಯವು ಲಿಂಕ್ ನವೀಕರಿಸಲಾಗುವುದು</li>
<li style="background: #d4f4d4; padding: 2px 4px;">ಹಸಿರು = ವಿಕಿಕೋಟ್ನಲ್ಲಿ ಲೇಖನವಿದೆ</li>
<li style="background: #ffe0e0; padding: 2px 4px;">ಕೆಂಪು = ಲೇಖನವಿಲ್ಲ (ರಚಿಸಬೇಕಾಗಿದೆ)</li>
</ul>
</div>
]=]
-- Add navigation
result[#result + 1] = createNavigation()
-- Render each category table
local startIndex = 1
for _, cat in ipairs(sortedCats) do
result[#result + 1] = renderCategoryTable(cat, categories[cat], startIndex, showWikidataLabel, showWikidataDescription, wikidataLang)
startIndex = startIndex + #categories[cat]
end
return table.concat(result, '\n')
end
return p
kfojepr16dfsych4bf5cfr6jq9n2r5q
15793
15792
2026-09-14T11:58:55Z
A826
1864
#SheSaid
15793
Scribunto
text/plain
--[[
Module:SheSaidKannadaWikiquote
Usage: {{#invoke:SheSaidKannadaWikiquote|table}}
This module generates language availability tables for SheSaid 2026 campaign on Kannada Wikiquote.
It displays articles with their availability on English and Kannada Wikiquote/Wikipedia.
]]
local p = {}
-- Define the languages to display in the table
local languages = {
{code = 'en', name = 'English', wiki = 'enwikiquote'},
{code = 'kn', name = 'ಕನ್ನಡ', wiki = 'knwikiquote'}
}
-- Define the topics with their Wikidata QIDs and categories
-- Format: {title, qid, category, en_sitelink, kn_sitelink}
-- Note: Use double quotes for strings with apostrophes to avoid escaping issues
local topics = {
-- Women from India
{"Women in India", "Q639712", "Women from India", "Women in India", ""},
{"Flavia Agnes", "Q16058227", "Women from India", "Flavia Agnes", ""},
{"Zoya Akhtar", "Q3070885", "Women from India", "Zoya Akhtar", ""},
{"Rana Ayyub", "Q20630532", "Women from India", "Rana Ayyub", ""},
{"Balasaraswati", "Q3522332", "Women from India", "Balasaraswati", ""},
{"Begum Hazrat Mahal", "Q717960", "Women from India", "Begum Hazrat Mahal", ""},
{"Varsha Bhosle", "Q2216799", "Women from India", "Varsha Bhosle", ""},
{"Dorothy Bonarjee", "Q94705848", "Women from India", "Dorothy Bonarjee", ""},
{"Tiffany Brar", "Q20090336", "Women from India", "Tiffany Brar", ""},
{"Urvashi Butalia", "Q2119956", "Women from India", "Urvashi Butalia", "ಉರ್ವಶಿ ಬುಟಾಲಿಯಾ"},
{"Irom Sharmila Chanu", "Q467322", "Women from India", "Irom Sharmila Chanu", ""},
{"Kalpana Chawla", "Q237879", "Women from India", "Kalpana Chawla", ""},
{"Kittur Chennamma", "Q3536979", "Women from India", "Kittur Chennamma", ""},
{"Child marriage among Muslims in Kerala", "Q17183499", "Women from India", "Child marriage among Muslims in Kerala", ""},
{"Tina Dabi", "Q107122534", "Women from India", "Tina Dabi", ""},
{"Geetanjali Shree", "Q539835", "Women from India", "Geetanjali Shree", ""},
{"Divya S. Iyer", "Q105988314", "Women from India", "Divya S. Iyer", ""},
{"Smita Nair Jain", "Q18126169", "Women from India", "Smita Nair Jain", ""},
{"Janabai", "Q4215741", "Women from India", "Janabai", ""},
{"Ekta Kapoor", "Q3630005", "Women from India", "Ekta Kapoor", ""},
{"Anandamoyi Ma", "Q433594", "Women from India", "Anandamoyi Ma", ""},
{"Swati Maliwal", "Q57163890", "Women from India", "Swati Maliwal", ""},
{"Bhavitha Mandava", "Q137647653", "Women from India", "Bhavitha Mandava", ""},
{"Kiran Mazumdar-Shaw", "Q467215", "Women from India", "Kiran Mazumdar-Shaw", ""},
{"Sania Mirza", "Q132147", "Women from India", "Sania Mirza", "ಸಾನಿಯಾ ಮಿರ್ಜಾ"},
{"Sarojini Naidu", "Q250165", "Women from India", "Sarojini Naidu", ""},
{"Naiki Devi", "Q54811284", "Women from India", "Naiki Devi", ""},
{"Nimrat Kaur", "Q15611257", "Women from India", "Nimrat Kaur", ""},
{"Indra Nooyi", "Q264913", "Women from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"},
{"Nur Jahan", "Q541530", "Women from India", "Nur Jahan", ""},
{"Onake Obavva", "Q11025877", "Women from India", "Onake Obavva", "ಒನಕೆ ಓಬವ್ವ"},
{"Neethi Padmanabhan", "Q96804094", "Women from India", "Neethi Padmanabhan", ""},
{"Sai Paranjpye", "Q12455087", "Women from India", "Sai Paranjpye", ""},
{"Radhika Aggarwal", "Q26703254", "Women from India", "Radhika Aggarwal", ""},
{"Kiran Rao", "Q6414821", "Women from India", "Kiran Rao", ""},
{"Shereen Ratnagar", "Q7494812", "Women from India", "Shereen Ratnagar", ""},
{"Rudrama Devi", "Q3523666", "Women from India", "Rudrama Devi", ""},
{"Monisha Shah", "Q108801254", "Women from India", "Monisha Shah", ""},
{"Vandana Shiva", "Q235451", "Women from India", "Vandana Shiva", ""},
{"Tavleen Singh", "Q7689144", "Women from India", "Tavleen Singh", ""},
{"Dipa Sinha", "Q98115731", "Women from India", "Dipa Sinha", ""},
{"Smriti Mandhana", "Q16224802", "Women from India", "Smriti Mandhana", "ಸ್ಮೃತಿ ಮಂದಾನ"},
{"Sushmita Banerjee", "Q14832675", "Women from India", "Sushmita Banerjee", ""},
{"Padmini Swaminathan", "Q22958099", "Women from India", "Padmini Swaminathan", ""},
{"Uda Devi", "Q12416288", "Women from India", "Uda Devi", ""},
{"Vanitha Narayanan", "Q53865532", "Women from India", "Vanitha Narayanan", ""},
-- Women academics from India
{"Nyla Ali Khan", "Q16214027", "Women academics from India", "Nyla Ali Khan", ""},
{"Madhu Kishwar", "Q6727427", "Women academics from India", "Madhu Kishwar", ""},
{"Mridu Rai", "Q60605908", "Women academics from India", "Mridu Rai", ""},
{"Tanika Sarkar", "Q7683301", "Women academics from India", "Tanika Sarkar", ""},
{"Romila Thapar", "Q2744161", "Women academics from India", "Romila Thapar", ""},
-- Women activists from India
{"Rukmini Devi Arundale", "Q465021", "Women activists from India", "Rukmini Devi Arundale", ""},
{"Abadi Bano Begum", "Q42896051", "Women activists from India", "Abadi Bano Begum", "ಅಬಾದಿ ಬಾನೋ ಬೇಗಂ"},
{"Ela Bhatt", "Q467336", "Women activists from India", "Ela Bhatt", "ಇಳಾ ಭಟ್"},
{"Indira Jaising", "Q6025018", "Women activists from India", "Indira Jaising", "ಇಂದಿರಾ ಜೈಸಿಂಗ್"},
{"Pupul Jayakar", "Q7260760", "Women activists from India", "Pupul Jayakar", ""},
{"Kiruba Munusamy", "Q101873542", "Women activists from India", "Kiruba Munusamy", ""},
{"Banu Mushtaq", "Q15719655", "Women activists from India", "Banu Mushtaq", ""},
{"Sunita Narain", "Q2722841", "Women activists from India", "Sunita Narain", ""},
{"Cornelia Sorabji", "Q2643152", "Women activists from India", "Cornelia Sorabji", ""},
-- Actresses from India
{"Kiara Advani", "Q16762720", "Actresses from India", "Kiara Advani", ""},
{"Kajal Aggarwal", "Q224962", "Actresses from India", "Kajal Aggarwal", ""},
{"Andrea Jeremiah", "Q3523373", "Actresses from India", "Andrea Jeremiah", ""},
{"Sara Arjun", "Q7421553", "Actresses from India", "Sara Arjun", ""},
{"Vidya Balan", "Q159166", "Actresses from India", "Vidya Balan", ""},
{"Rachna Banerjee", "Q5223491", "Actresses from India", "Rachna Banerjee", ""},
{"Mukta Barve", "Q6933592", "Actresses from India", "Mukta Barve", ""},
{"Swara Bhasker", "Q7653831", "Actresses from India", "Swara Bhasker", ""},
{"Rani Chatterjee", "Q16201930", "Actresses from India", "Rani Chatterjee", ""},
{"Parineeti Chopra", "Q2995813", "Actresses from India", "Parineeti Chopra", ""},
{"Esha Deol", "Q48622", "Actresses from India", "Esha Deol", "ಇಶಾ ಡಿಯೋಲ್"},
{"Drashti Dhami", "Q4171474", "Actresses from India", "Drashti Dhami", ""},
{"Tripti Dimri", "Q56425189", "Actresses from India", "Tripti Dimri", ""},
{"Madhuri Dixit", "Q232451", "Actresses from India", "Madhuri Dixit", ""},
{"Amrita Rao", "Q299136", "Actresses from India", "Amrita Rao", "ಅಮೃತಾ ರಾವ್"},
{"Lara Dutta", "Q290438", "Actresses from India", "Lara Dutta", ""},
{"Yami Gautam", "Q8048050", "Actresses from India", "Yami Gautam", ""},
{"Aditi Govitrikar", "Q3531155", "Actresses from India", "Aditi Govitrikar", "ಅದಿತಿ ಗೋವಿತ್ರಿಕರ್"},
{"Smriti Irani", "Q7546539", "Actresses from India", "Smriti Irani", "ಸ್ಮೃತಿ ಇರಾನಿ"},
{"J. Jayalalithaa", "Q465018", "Actresses from India", "J. Jayalalithaa", ""},
{"Dipika Kakar", "Q12068128", "Actresses from India", "Dipika Kakar", ""},
{"Asha Kale", "Q4804505", "Actresses from India", "Asha Kale", ""},
{"Sukirti Kandpal", "Q7635860", "Actresses from India", "Sukirti Kandpal", ""},
{"Janhvi Kapoor", "Q22290570", "Actresses from India", "Janhvi Kapoor", ""},
{"Kareena Kapoor", "Q184885", "Actresses from India", "Kareena Kapoor", ""},
{"Shraddha Kapoor", "Q15055683", "Actresses from India", "Shraddha Kapoor", ""},
{"Sonam Kapoor", "Q1192750", "Actresses from India", "Sonam Kapoor", ""},
{"Rozlyn Khan", "Q7375385", "Actresses from India", "Rozlyn Khan", ""},
{"Sara Ali Khan", "Q59513147", "Actresses from India", "Sara Ali Khan", ""},
{"Kalki Koechlin", "Q3192216", "Actresses from India", "Kalki Koechlin", ""},
{"Manisha Koirala", "Q186606", "Actresses from India", "Manisha Koirala", ""},
{"Sivaangi Krishnakumar", "Q107135005", "Actresses from India", "Sivaangi Krishnakumar", ""},
{"Trisha Krishnan", "Q2748513", "Actresses from India", "Trisha Krishnan", ""},
{"Khushalii Kumar", "Q65640372", "Actresses from India", "Khushalii Kumar", ""},
{"Padma Lakshmi", "Q464835", "Actresses from India", "Padma Lakshmi", ""},
{"Raai Laxmi", "Q3520472", "Actresses from India", "Raai Laxmi", ""},
{"Rukmini Maitra", "Q27954419", "Actresses from India", "Rukmini Maitra", ""},
{"Sanya Malhotra", "Q28316728", "Actresses from India", "Sanya Malhotra", ""},
{"Hema Malini", "Q33635", "Actresses from India", "Hema Malini", "ಹೇಮಾ ಮಾಲಿನಿ"},
{"Rashmika Mandanna", "Q28088964", "Actresses from India", "Rashmika Mandanna", ""},
{"Priyanka Arul Mohan", "Q70991046", "Actresses from India", "Priyanka Arul Mohan", ""},
{"Rani Mukerji", "Q485557", "Actresses from India", "Rani Mukerji", ""},
{"Mumtaz (actress)", "Q3111131", "Actresses from India", "Mumtaz (actress)", ""},
{"Nayanthara", "Q2748319", "Actresses from India", "Nayanthara", ""},
{"Aneet Padda", "Q135114696", "Actresses from India", "Aneet Padda", ""},
{"Deepika Padukone", "Q159178", "Actresses from India", "Deepika Padukone", ""},
{"Ananya Panday", "Q58198484", "Actresses from India", "Ananya Panday", ""},
{"Pooja Hegde", "Q7228519", "Actresses from India", "Pooja Hegde", ""},
{"Kangana Ranaut", "Q2737207", "Actresses from India", "Kangana Ranaut", "ಕಂಗನಾ ರನೌತ್"},
{"Urvashi Rautela", "Q7901587", "Actresses from India", "Urvashi Rautela", "ಊರ್ವಶಿ ರೌತೇಲಾ"},
{"Waheeda Rehman", "Q465859", "Actresses from India", "Waheeda Rehman", ""},
{"Rekha", "Q465826", "Actresses from India", "Rekha", ""},
{"Samantha Ruth Prabhu", "Q3520314", "Actresses from India", "Samantha Ruth Prabhu", "ಸಮಂತಾ ರುತ್ ಪ್ರಭು"},
{"Harnaaz Sandhu", "Q108756568", "Actresses from India", "Harnaaz Sandhu", ""},
{"Kriti Sanon", "Q16233540", "Actresses from India", "Kriti Sanon", ""},
{"Mallika Sarabhai", "Q3518417", "Actresses from India", "Mallika Sarabhai", ""},
{"Aparna Sen", "Q466325", "Actresses from India", "Aparna Sen", ""},
{"Kim Sharma", "Q469887", "Actresses from India", "Kim Sharma", ""},
{"Mallika Sherawat", "Q262665", "Actresses from India", "Mallika Sherawat", ""},
{"M. S. Subbulakshmi", "Q465067", "Actresses from India", "M. S. Subbulakshmi", ""},
{"Keerthy Suresh", "Q17403476", "Actresses from India", "Keerthy Suresh", ""},
{"Tamannaah Bhatia", "Q151798", "Actresses from India", "Tamannaah Bhatia", ""},
{"Nikki Tamboli", "Q92995304", "Actresses from India", "Nikki Tamboli", ""},
{"Raveena Tandon", "Q2001803", "Actresses from India", "Raveena Tandon", ""},
{"Mrunal Thakur", "Q16234243", "Actresses from India", "Mrunal Thakur", ""},
{"Vyjayanthimala", "Q467977", "Actresses from India", "Vyjayanthimala", ""},
{"Preity Zinta", "Q188671", "Actresses from India", "Preity Zinta", ""},
-- Women authors from India
{"Damayanti Besra", "Q31322404", "Women authors from India", "Damayanti Besra", ""},
{"Deepta Roy Chakraverti", "Q139493374", "Women authors from India", "Deepta Roy Chakraverti", ""},
{"Anita Desai", "Q268495", "Women authors from India", "Anita Desai", "ಅನಿತಾ ದೇಸಾಯಿ"},
{"Barkha Dutt", "Q3634855", "Women authors from India", "Barkha Dutt", ""},
{"Divya Dwivedi", "Q67222730", "Women authors from India", "Divya Dwivedi", ""},
{"K. R. Meera", "Q58157", "Women authors from India", "K. R. Meera", ""},
{"Meena Kandasamy", "Q6807585", "Women authors from India", "Meena Kandasamy", ""},
{"Rupi Kaur", "Q19662918", "Women authors from India", "Rupi Kaur", ""},
{"Licypriya Kangujam", "Q71123008", "Women authors from India", "Licypriya Kangujam", ""},
{"Leela Row Dayal", "Q47016048", "Women authors from India", "Leela Row Dayal", ""},
{"Nayantara Sahgal", "Q448399", "Women authors from India", "Nayantara Sahgal", "ನಯನತಾರಾ ಸೆಹಗಲ್"},
{"Nupur J. Sharma", "Q116030561", "Women authors from India", "Nupur J. Sharma", ""},
-- Businesswomen from India
{"Falguni Nayar", "Q107476226", "Businesswomen from India", "Falguni Nayar", ""},
{"Indra Krishnamurthy Nooyi", "Q264913", "Businesswomen from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"},
{"Nandini Jammi", "Q97142214", "Businesswomen from India", "Nandini Jammi", ""},
{"Kalpana Lajmi", "Q3631768", "Businesswomen from India", "Kalpana Lajmi", "ಕಲ್ಪನಾ ಲಾಜ್ಮಿ"},
{"Mahua Moitra", "Q24572565", "Businesswomen from India", "Mahua Moitra", ""},
{"Leena Nair", "Q6516350", "Businesswomen from India", "Leena Nair", ""},
{"Swati Piramal", "Q7654042", "Businesswomen from India", "Swati Piramal", ""},
{"V. K. Sasikala", "Q7425145", "Businesswomen from India", "V. K. Sasikala", ""},
{"Vineeta Singh", "Q70203083", "Businesswomen from India", "Vineeta Singh", ""},
{"Kanika Tekriwal", "Q27978737", "Businesswomen from India", "Kanika Tekriwal", ""},
-- Women politicians in India
{"Mamata Banerjee", "Q465041", "Women politicians in India", "Mamata Banerjee", ""},
{"Uma Bharti", "Q3109128", "Women politicians in India", "Uma Bharti", "ಉಮಾ ಭಾರತಿ"},
{"Renuka Chowdhury", "Q2470188", "Women politicians in India", "Renuka Chowdhury", ""},
{"Indira Gandhi", "Q1149", "Women politicians in India", "Indira Gandhi", "ಇಂದಿರಾ ಗಾಂಧಿ"},
{"Maneka Gandhi", "Q2739159", "Women politicians in India", "Maneka Gandhi", ""},
{"Medha Kulkarni", "Q24053642", "Women politicians in India", "Medha Kulkarni", ""},
{"Sanghmitra Maurya", "Q64001930", "Women politicians in India", "Sanghmitra Maurya", ""},
{"Mayawati", "Q264896", "Women politicians in India", "Mayawati", ""},
{"Vijaya Lakshmi Pandit", "Q465047", "Women politicians in India", "Vijaya Lakshmi Pandit", ""},
{"Nupur Sharma", "Q19518263", "Women politicians in India", "Nupur Sharma", ""},
{"Shreyasi Singh", "Q17435457", "Women politicians in India", "Shreyasi Singh", ""},
-- Women scientists from India
{"Rohini Pande", "Q7359748", "Women scientists from India", "Rohini Pande", ""},
}
-- Cache for sitelinks
local sitelinkCache = {}
-- Cache for Wikidata labels and descriptions
local wikidataCache = {}
-- Function to get sitelink for a given QID and wiki
local function getSitelink(qid, wiki)
if not qid or qid == "" then
return nil
end
local cacheKey = qid .. '_' .. wiki
if sitelinkCache[cacheKey] ~= nil then
return sitelinkCache[cacheKey]
end
-- Try to get the entity from Wikidata
local success, entity = pcall(mw.wikibase.getEntityObject, qid)
if not success or not entity then
sitelinkCache[cacheKey] = nil
return nil
end
local sitelink = entity:getSitelink(wiki)
sitelinkCache[cacheKey] = sitelink
return sitelink
end
-- Function to get Wikidata label and description for a given QID
local function getWikidataInfo(qid, langCode)
if not qid or qid == "" then
return nil, nil
end
langCode = langCode or 'en'
local cacheKey = qid .. '_' .. langCode
if wikidataCache[cacheKey] ~= nil then
return wikidataCache[cacheKey].label, wikidataCache[cacheKey].description
end
-- Try to get the entity from Wikidata
local success, entity = pcall(mw.wikibase.getEntityObject, qid)
if not success or not entity then
wikidataCache[cacheKey] = {label = nil, description = nil}
return nil, nil
end
local label = nil
local description = nil
-- Get label
if entity.labels then
if entity.labels[langCode] then
label = entity.labels[langCode].value
elseif entity.labels['en'] then
label = entity.labels['en'].value
end
end
-- Get description
if entity.descriptions then
if entity.descriptions[langCode] then
description = entity.descriptions[langCode].value
elseif entity.descriptions['en'] then
description = entity.descriptions['en'].value
end
end
wikidataCache[cacheKey] = {label = label, description = description}
return label, description
end
-- Function to create the navigation bar with jump links to each category
local function createNavigation()
-- Group topics by category to get unique category names
local categories = {}
for _, topic in ipairs(topics) do
local cat = topic[3] or 'General'
if not categories[cat] then
categories[cat] = true
end
end
-- Sort category names
local sortedCats = {}
for cat in pairs(categories) do
table.insert(sortedCats, cat)
end
table.sort(sortedCats)
local nav = {
'<div style="margin: 1em 0; padding: 0.5em; background: #f8f9fa; border: 1px solid #a2a9b1; border-radius: 4px;">',
'<strong>Jump to section:</strong> '
}
local links = {}
for _, cat in ipairs(sortedCats) do
local anchor = 'section-' .. cat:gsub(' ', '_'):gsub('[%(%)]', '')
links[#links + 1] = '[[' .. '#' .. anchor .. '|' .. cat .. ']]'
end
nav[#nav + 1] = table.concat(links, ' | ')
nav[#nav + 1] = '</div>'
return table.concat(nav)
end
-- Function to create the table header
-- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn
local function createTableHeader()
local header = {
'{| class="wikitable sortable" style="width: 100%;"',
'! №',
'! style="width: 10%;" | Wikidata QID',
'! style="width: 20%;" | Wikidata Label',
'! style="width: 25%;" | Wikidata Description',
'! style="width: 10%;" | ಪ್ರಕಾರ',
}
-- Add language columns
for _, lang in ipairs(languages) do
local title = ' title="' .. lang.name .. ' Wikiquote"'
header[#header + 1] = '!' .. title .. ' | ' .. lang.name .. ' Wikiquote'
end
return table.concat(header, '\n')
end
-- Function to create a table row for a topic with sitelinks
-- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn
local function createTopicRow(index, topic, wikidataLang)
local title = topic[1]
local qid = topic[2]
local category = topic[3] or 'General'
-- Build the row
local row = {
'\n|-',
'| ' .. index,
}
-- Column 2: Wikidata QID
if qid and qid ~= "" then
row[#row + 1] = '| [[d:' .. qid .. '|' .. qid .. ']]'
else
row[#row + 1] = '| style="text-align: center; color: #999;" | −'
end
-- Column 3: Wikidata Label
local label = nil
local description = nil
if qid and qid ~= "" then
label, description = getWikidataInfo(qid, wikidataLang)
end
if label and label ~= "" then
row[#row + 1] = '| ' .. label
else
row[#row + 1] = '| style="text-align: center; color: #999;" | −'
end
-- Column 4: Wikidata Description
if description and description ~= "" then
row[#row + 1] = '| style="font-size: 90%; color: #555;" | ' .. description
else
row[#row + 1] = '| style="text-align: center; color: #999;" | −'
end
-- Column 5: Category (ಪ್ರಕಾರ)
row[#row + 1] = '| ' .. category
-- Language columns
-- English Wikiquote
if qid and qid ~= "" then
local enWQ = getSitelink(qid, 'enwikiquote')
if enWQ then
row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:en:' .. enWQ .. '|' .. enWQ .. ']]'
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
-- Kannada Wikiquote
if qid and qid ~= "" then
local knWQ = getSitelink(qid, 'knwikiquote')
if knWQ then
row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:kn:' .. knWQ .. '|' .. knWQ .. ']]'
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
else
row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −'
end
return table.concat(row, '\n')
end
-- Function to create the table footer with statistics
-- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn
local function createTableFooter(categoryTopics)
local totalTopics = #categoryTopics
if totalTopics == 0 then
return '\n|-\n| colspan="7" style="text-align: center;" | No topics available'
end
-- Calculate column statistics
local colStats = {}
for i = 1, #languages do
colStats[i] = {exists = 0, missing = 0}
end
for _, topic in ipairs(categoryTopics) do
local qid = topic[2]
if qid and qid ~= "" then
-- Check English Wikiquote
local enWQ = getSitelink(qid, 'enwikiquote')
if enWQ then
colStats[1].exists = colStats[1].exists + 1
else
colStats[1].missing = colStats[1].missing + 1
end
-- Check Kannada Wikiquote
local knWQ = getSitelink(qid, 'knwikiquote')
if knWQ then
colStats[2].exists = colStats[2].exists + 1
else
colStats[2].missing = colStats[2].missing + 1
end
else
colStats[1].missing = colStats[1].missing + 1
colStats[2].missing = colStats[2].missing + 1
end
end
-- Build footer row
-- Columns 1-5 are: №, QID, Label, Description, ಪ್ರಕಾರ -> colspan=5
local footer = {
'\n|- class="sortbottom" style="font-weight: bold; background: #f0f0f0;"',
'| colspan="5" | ಒಟ್ಟು ಲೇಖನಗಳು',
}
for i = 1, #languages do
footer[#footer + 1] = '| style="text-align: center;" | ' .. colStats[i].exists .. ' / ' .. totalTopics
end
return table.concat(footer, '\n')
end
-- Function to render a single category table
local function renderCategoryTable(categoryName, categoryTopics, startIndex, wikidataLang)
local result = {}
-- Add section anchor
local anchor = 'section-' .. categoryName:gsub(' ', '_'):gsub('[%(%)]', '')
result[#result + 1] = '<div id="' .. anchor .. '"></div>'
-- Add category header
result[#result + 1] = '\n=== ' .. categoryName .. ' ===\n'
-- Add data source info for the category
result[#result + 1] = '<div style="font-size: 90%; color: #555; margin-bottom: 0.5em;">ಒಟ್ಟು: ' .. #categoryTopics .. ' ಲೇಖನಗಳು</div>'
-- Start the table
result[#result + 1] = createTableHeader()
-- Add topic rows
local currentIndex = startIndex
for _, topic in ipairs(categoryTopics) do
result[#result + 1] = createTopicRow(currentIndex, topic, wikidataLang)
currentIndex = currentIndex + 1
end
-- Add footer
result[#result + 1] = createTableFooter(categoryTopics)
-- Close the table
result[#result + 1] = '\n|}\n'
return table.concat(result, '\n')
end
-- Main function to render the complete table
-- Options (via frame args):
-- wikidataLang: language code for Wikidata label/description (default: 'en')
function p.table(frame)
local result = {}
-- Parse options from frame arguments
local args = frame and frame.args or {}
local wikidataLang = args.wikidataLang or 'en'
-- Group topics by category
local categories = {}
for _, topic in ipairs(topics) do
local cat = topic[3] or 'General'
if not categories[cat] then
categories[cat] = {}
end
table.insert(categories[cat], topic)
end
-- Sort category names
local sortedCats = {}
for cat in pairs(categories) do
table.insert(sortedCats, cat)
end
table.sort(sortedCats)
-- Add data source info
result[#result + 1] = [=[
<div style="margin-bottom: 1em; padding: 0.5em; background: #e8f4f8; border: 1px solid #a2a9b1; border-radius: 4px; font-size: 90%;">
<strong>ದತ್ತಾಂಶ ಮೂಲಗಳು:</strong>
<ul>
<li>SheSaid 2026 ಕನ್ನಡ ವಿಕಿಕೋಟ್ ಅಭಿಯಾನದ ಲೇಖನಗಳು</li>
<li>ವಿಕಿಡಾಟಾದಿಂದ ಸೈಟ್ಲಿಂಕ್ 2 September 2026 ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯಲಾಗಿದೆ, ಮುಂದಿನ ನವೀಕರಣ ಸಮಯ ೧೫ ಸೆಪ್ಟೆಂಬರ್ ೨೦೨೬, ಸ್ಪರ್ಧೆಯ ಸಮಯದಲ್ಲಿ ನಿತ್ಯವು ಲಿಂಕ್ ನವೀಕರಿಸಲಾಗುವುದು</li>
<li style="background: #d4f4d4; padding: 2px 4px;">ಹಸಿರು = ವಿಕಿಕೋಟ್ನಲ್ಲಿ ಲೇಖನವಿದೆ</li>
<li style="background: #ffe0e0; padding: 2px 4px;">ಕೆಂಪು = ಲೇಖನವಿಲ್ಲ (ರಚಿಸಬೇಕಾಗಿದೆ)</li>
</ul>
</div>
]=]
-- Add navigation
result[#result + 1] = createNavigation()
-- Render each category table
local startIndex = 1
for _, cat in ipairs(sortedCats) do
result[#result + 1] = renderCategoryTable(cat, categories[cat], startIndex, wikidataLang)
startIndex = startIndex + #categories[cat]
end
return table.concat(result, '\n')
end
return p
a9q5555mtxtwzyhkooq3fu1fm55j1fn
ಮೀಡಿಯವಿಕಿ:Gadget-DefaultSummary.js
8
4520
15788
2026-09-13T13:22:45Z
A826
1864
ಹೊಸ ಪುಟ: /** * Gadget: DefaultSummary * Pre-fills the edit summary box with "#she-said" if it is empty. */ ( function () { 'use strict'; // Run only on edit pages if ( mw.config.get( 'wgAction' ) !== 'edit' ) { return; } // Use jQuery ready to ensure the DOM is fully loaded $( function () { var summaryInput = document.getElementById( 'wpSummary' ); // Check if the element exists and if it is currently empty if ( summa...
15788
javascript
text/javascript
/**
* Gadget: DefaultSummary
* Pre-fills the edit summary box with "#she-said" if it is empty.
*/
( function () {
'use strict';
// Run only on edit pages
if ( mw.config.get( 'wgAction' ) !== 'edit' ) {
return;
}
// Use jQuery ready to ensure the DOM is fully loaded
$( function () {
var summaryInput = document.getElementById( 'wpSummary' );
// Check if the element exists and if it is currently empty
if ( summaryInput && summaryInput.value === '' ) {
summaryInput.value = '#she-said';
}
} );
}() );
g3akxlg749ecnb204ejaejab8wo3fpd
15790
15788
2026-09-13T22:24:28Z
A826
1864
#she-said
15790
javascript
text/javascript
/**
* Gadget: DefaultSummary
* Appends "#SheSaid" to the edit summary box.
*/
( function () {
'use strict';
// Run only on edit pages
if ( mw.config.get( 'wgAction' ) !== 'edit' ) {
return;
}
$( function () {
var summaryInput = document.getElementById( 'wpSummary' );
if ( !summaryInput ) {
return;
}
var tag = '#SheSaid';
var current = summaryInput.value.trim();
// Avoid adding the tag twice if it's already present
if ( current.indexOf( tag ) !== -1 ) {
return;
}
if ( current === '' ) {
summaryInput.value = tag;
} else {
summaryInput.value = current + ' ' + tag;
}
} );
}() );
1xqnzqxhf59fwlz13498smj1eii06bb